Only send sync execution command output to the UI that ran the command
Currently when a "step", "next", etc. finishes, the current source line is printed on all console UIs. This patch makes the CLI and TUI interpreters reuse MI's logic to only emit console output related to a synchronous command on the console-like interpreter that started the command in the first place. gdb/ChangeLog: 2016-06-21 Pedro Alves <palves@redhat.com> * cli/cli-interp.c (cli_on_normal_stop): Bail out early if there's nothing to print. Use should_print_stop_to_console. * tui/tui-interp.c (tui_on_normal_stop): Likewise.
This commit is contained in:
parent
8980e177bb
commit
eaae60fd94
|
@ -1,3 +1,9 @@
|
|||
2016-06-21 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* cli/cli-interp.c (cli_on_normal_stop): Bail out early if there's
|
||||
nothing to print. Use should_print_stop_to_console.
|
||||
* tui/tui-interp.c (tui_on_normal_stop): Likewise.
|
||||
|
||||
2016-06-21 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* breakpoint.c (new_until_break_fsm): Add 'cmd_interp' parameter.
|
||||
|
|
|
@ -95,14 +95,20 @@ cli_on_normal_stop (struct bpstats *bs, int print_frame)
|
|||
{
|
||||
struct switch_thru_all_uis state;
|
||||
|
||||
if (!print_frame)
|
||||
return;
|
||||
|
||||
SWITCH_THRU_ALL_UIS (state)
|
||||
{
|
||||
struct cli_interp *cli = as_cli_interp (top_level_interpreter ());
|
||||
struct interp *interp = top_level_interpreter ();
|
||||
struct cli_interp *cli = as_cli_interp (interp);
|
||||
struct thread_info *thread;
|
||||
|
||||
if (cli == NULL)
|
||||
continue;
|
||||
|
||||
if (print_frame)
|
||||
thread = inferior_thread ();
|
||||
if (should_print_stop_to_console (interp, thread))
|
||||
print_stop_event (cli->cli_uiout);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include "tui/tui-io.h"
|
||||
#include "infrun.h"
|
||||
#include "observer.h"
|
||||
#include "gdbthread.h"
|
||||
|
||||
static struct ui_out *tui_ui_out (struct interp *self);
|
||||
|
||||
|
@ -71,14 +72,20 @@ tui_on_normal_stop (struct bpstats *bs, int print_frame)
|
|||
{
|
||||
struct switch_thru_all_uis state;
|
||||
|
||||
if (!print_frame)
|
||||
return;
|
||||
|
||||
SWITCH_THRU_ALL_UIS (state)
|
||||
{
|
||||
struct interp *tui = as_tui_interp (top_level_interpreter ());
|
||||
struct interp *interp = top_level_interpreter ();
|
||||
struct interp *tui = as_tui_interp (interp);
|
||||
struct thread_info *thread;
|
||||
|
||||
if (tui == NULL)
|
||||
continue;
|
||||
|
||||
if (print_frame)
|
||||
thread = inferior_thread ();
|
||||
if (should_print_stop_to_console (interp, thread))
|
||||
print_stop_event (tui_ui_out (tui));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue