+2013-09-06 Andrew Burgess <aburgess@broadcom.com>
+
+ * cli/cli-interp.c (_initialize_cli_interp): Add a
+ command_loop_proc to interp_procs.
+ * event-top.c (cli_command_loop): Change signature to match
+ interp_command_loop_ftype.
+ * event-top.h (cli_command_loop): Same.
+ * interps.c (interp_new): Require every interpreter to have a
+ command_loop_proc.
+ (current_interp_command_loop): Just call the command_loop_proc on
+ the current interpreter.
+ * tui/tui-interp.c (_initialize_tui_interp): Add a
+ command_loop_proc to interp_procs.
+
2013-09-06 Ricard Wanderlof <ricardw@axis.com>
* cris-tdep.c (cris_gdbarch_init): Add call to
cli_interpreter_suspend, /* suspend_proc */
cli_interpreter_exec, /* exec_proc */
cli_interpreter_display_prompt_p, /* prompt_proc_p */
- cli_ui_out /* ui_out_proc */
+ cli_ui_out, /* ui_out_proc */
+ NULL, /* set_logging_proc */
+ cli_command_loop /* command_loop_proc */
};
struct interp *cli_interp;
}
/* Initialize all the necessary variables, start the event loop,
- register readline, and stdin, start the loop. */
+ register readline, and stdin, start the loop. The DATA is the
+ interpreter data cookie, ignored for now. */
+
void
-cli_command_loop (void)
+cli_command_loop (void *data)
{
display_gdb_prompt (0);
extern int input_fd;
extern void (*after_char_processing_hook) (void);
-extern void cli_command_loop (void);
+extern void cli_command_loop (void *);
#endif
new_interp->procs = procs;
new_interp->inited = 0;
+ /* Check for required procs. */
+ gdb_assert (procs->command_loop_proc != NULL);
+
return new_interp;
}
void
current_interp_command_loop (void)
{
- /* Somewhat messy. For the moment prop up all the old ways of
- selecting the command loop. */
- if (current_interpreter != NULL
- && current_interpreter->procs->command_loop_proc != NULL)
- current_interpreter->procs->command_loop_proc (current_interpreter->data);
- else
- cli_command_loop ();
+ gdb_assert (current_interpreter != NULL);
+
+ current_interpreter->procs->command_loop_proc (current_interpreter->data);
}
int
tui_exec,
tui_display_prompt_p,
tui_ui_out,
+ NULL,
+ cli_command_loop
};
struct interp *tui_interp;