Skip to content
  • Pedro Alves's avatar
    Simplify starting the command event loop · b2d86570
    Pedro Alves authored
    All interpreter types (CLI/TUI/MI) print the prompt, and then call
    start_event_loop.
    
    Because we'll need an interpreter hook to display the
    interpreter-specific prompt before going back to the event loop,
    without actually starting an event loop, this patch moves the
    start_event_loop call to common code, and replaces the command_loop
    hook with a pre_command_look hook, that now just prints the prompt.
    
    Turns out to be a cleanup on its own right anyway.
    
    gdb/ChangeLog:
    2016-06-21  Pedro Alves  <palves@redhat.com>
    
    	* cli/cli-interp.c (cli_interpreter_pre_command_loop): New
    	function.
    	(cli_interp_procs): Install it instead of cli_command_loop.
    	* cli/cli-interp.h (cli_interpreter_pre_command_loop): Declare.
    	* event-top.c (cli_command_loop): Delete.
    	* interps.c (interp_new): Remove reference to command_loop_proc.
    	(current_interp_command_loop): Delete.
    	(interp_pre_command_loop): New function.
    	(interp_command_loop_ftype): Delete.
    	* interps.h (interp_pre_command_loop_ftype): New typedef.
    	(struct interp_procs) <command_loop_proc>: Delele field.
    	<pre_command_loop_proc>: New field.
    	(current_interp_command_loop): Delete declaration.
    	(interp_pre_command_loop): New declaration.
    	* main.c (captured_command_loop): Call interp_pre_command_loop
    	instead of current_interp_command_loop and start an event loop.
    	* mi/mi-interp.c (mi_command_loop): Delete.
    	(mi_interpreter_pre_command_loop): New.
    	(mi_interp_procs): Update.
    	* tui/tui-interp.c (tui_interp_procs): Install
    	cli_interpreter_pre_command_loop instead of cli_command_loop.
    b2d86570