diff options
author | Andrew Burgess <aburgess@broadcom.com> | 2013-09-06 08:53:09 +0000 |
---|---|---|
committer | Andrew Burgess <aburgess@broadcom.com> | 2013-09-06 08:53:09 +0000 |
commit | 4d09c5b4239111b21fd6ee20054c71b260c3b8ae (patch) | |
tree | fdfcd9b917ef2bbad1e2cd7b7cf94e1cfa303a9f /gdb/interps.c | |
parent | 8eb3d7b6ca8ba08fba66a25ffe1e26a571187c55 (diff) | |
download | gdb-4d09c5b4239111b21fd6ee20054c71b260c3b8ae.zip gdb-4d09c5b4239111b21fd6ee20054c71b260c3b8ae.tar.gz gdb-4d09c5b4239111b21fd6ee20054c71b260c3b8ae.tar.bz2 |
Give every interpreter a command_loop_proc.
https://sourceware.org/ml/gdb-patches/2013-09/msg00179.html
gdb/ChangeLog
* 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.
Diffstat (limited to 'gdb/interps.c')
-rw-r--r-- | gdb/interps.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/gdb/interps.c b/gdb/interps.c index 33e0f72..7f19385 100644 --- a/gdb/interps.c +++ b/gdb/interps.c @@ -101,6 +101,9 @@ interp_new (const char *name, const struct interp_procs *procs) new_interp->procs = procs; new_interp->inited = 0; + /* Check for required procs. */ + gdb_assert (procs->command_loop_proc != NULL); + return new_interp; } @@ -319,13 +322,9 @@ current_interp_display_prompt_p (void) 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 |