-extern void source_command PARAMS ((char *, int));
-extern void cd_command PARAMS ((char *, int));
-extern void read_command_file PARAMS ((FILE *));
-extern void init_history PARAMS ((void));
-extern void command_loop PARAMS ((void));
-extern void simplified_command_loop PARAMS ((char *(*read_input_func) (char *),
- void (*execute_command_func) (char *, int)));
-extern int quit_confirm PARAMS ((void));
-extern void quit_force PARAMS ((char *, int));
-extern void quit_command PARAMS ((char *, int));
-extern void command_loop_marker (void *);
-extern int quit_cover PARAMS ((PTR));
-extern void execute_command PARAMS ((char *, int));
+extern void read_command_file (FILE *);
+extern void init_history (void);
+extern void command_loop (void);
+extern int quit_confirm (void);
+extern void quit_force (char *, int);
+extern void quit_command (char *, int);
+extern void quit_cover (void);
+extern void execute_command (char *, int);
+
+extern void check_frame_language_change (void);
+
+/* Prepare for execution of a command.
+ Call this before every command, CLI or MI.
+ Returns a cleanup to be run after the command is completed. */
+extern struct cleanup *prepare_execute_command (void);