mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-13 19:06:54 +08:00
* top.c (interactive_mode): New static variable.
(show_interactive_mode): New function. (input_from_terminal_p): If interactive_mode is not auto, then use that rather than checking the stdin settings. (init_main): Add "set/show interactive-mode" command. * NEWS: Add entry for new "set/show interactive-mode" command.
This commit is contained in:
@ -1,3 +1,12 @@
|
|||||||
|
2009-09-10 Joel Brobecker <brobecker@adacore.com>
|
||||||
|
|
||||||
|
* top.c (interactive_mode): New static variable.
|
||||||
|
(show_interactive_mode): New function.
|
||||||
|
(input_from_terminal_p): If interactive_mode is not auto, then
|
||||||
|
use that rather than checking the stdin settings.
|
||||||
|
(init_main): Add "set/show interactive-mode" command.
|
||||||
|
* NEWS: Add entry for new "set/show interactive-mode" command.
|
||||||
|
|
||||||
2009-09-10 Joel Brobecker <brobecker@adacore.com>
|
2009-09-10 Joel Brobecker <brobecker@adacore.com>
|
||||||
|
|
||||||
* configure.ac: Fix the names of the python source and object files
|
* configure.ac: Fix the names of the python source and object files
|
||||||
|
8
gdb/NEWS
8
gdb/NEWS
@ -400,6 +400,14 @@ show stack-cache
|
|||||||
performance of remote debugging (particularly backtraces) without
|
performance of remote debugging (particularly backtraces) without
|
||||||
affecting correctness.
|
affecting correctness.
|
||||||
|
|
||||||
|
set interactive-mode (on|off|auto)
|
||||||
|
show interactive-mode
|
||||||
|
Control whether GDB runs in interactive mode (on) or not (off).
|
||||||
|
When in interactive mode, GDB waits for the user to answer all
|
||||||
|
queries. Otherwise, GDB does not wait and assumes the default
|
||||||
|
answer. When set to auto (the default), GDB determines which
|
||||||
|
mode to use based on the stdin settings.
|
||||||
|
|
||||||
* Removed commands
|
* Removed commands
|
||||||
|
|
||||||
info forks
|
info forks
|
||||||
|
38
gdb/top.c
38
gdb/top.c
@ -1318,12 +1318,38 @@ quit_force (char *args, int from_tty)
|
|||||||
exit (exit_code);
|
exit (exit_code);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If OFF, the debugger will run in non-interactive mode, which means
|
||||||
|
that it will automatically select the default answer to all the
|
||||||
|
queries made to the user. If ON, gdb will wait for the user to
|
||||||
|
answer all queries. If AUTO, gdb will determine whether to run
|
||||||
|
in interactive mode or not depending on whether stdin is a terminal
|
||||||
|
or not. */
|
||||||
|
static enum auto_boolean interactive_mode = AUTO_BOOLEAN_AUTO;
|
||||||
|
|
||||||
|
/* Implement the "show interactive-mode" option. */
|
||||||
|
|
||||||
|
static void
|
||||||
|
show_interactive_mode (struct ui_file *file, int from_tty,
|
||||||
|
struct cmd_list_element *c,
|
||||||
|
const char *value)
|
||||||
|
{
|
||||||
|
if (interactive_mode == AUTO_BOOLEAN_AUTO)
|
||||||
|
fprintf_filtered (file, "\
|
||||||
|
Debugger's interactive mode is %s (currently %s).\n",
|
||||||
|
value, input_from_terminal_p () ? "on" : "off");
|
||||||
|
else
|
||||||
|
fprintf_filtered (file, "Debugger's interactive mode is %s.\n", value);
|
||||||
|
}
|
||||||
|
|
||||||
/* Returns whether GDB is running on a terminal and input is
|
/* Returns whether GDB is running on a terminal and input is
|
||||||
currently coming from that terminal. */
|
currently coming from that terminal. */
|
||||||
|
|
||||||
int
|
int
|
||||||
input_from_terminal_p (void)
|
input_from_terminal_p (void)
|
||||||
{
|
{
|
||||||
|
if (interactive_mode != AUTO_BOOLEAN_AUTO)
|
||||||
|
return interactive_mode == AUTO_BOOLEAN_TRUE;
|
||||||
|
|
||||||
if (gdb_has_a_terminal () && instream == stdin)
|
if (gdb_has_a_terminal () && instream == stdin)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
@ -1655,6 +1681,18 @@ Use \"on\" to enable the notification, and \"off\" to disable it."),
|
|||||||
show_exec_done_display_p,
|
show_exec_done_display_p,
|
||||||
&setlist, &showlist);
|
&setlist, &showlist);
|
||||||
|
|
||||||
|
add_setshow_auto_boolean_cmd ("interactive-mode", class_support,
|
||||||
|
&interactive_mode, _("\
|
||||||
|
Set whether GDB should run in interactive mode or not"), _("\
|
||||||
|
Show whether GDB runs in interactive mode"), _("\
|
||||||
|
If on, run in interactive mode and wait for the user to answer\n\
|
||||||
|
all queries. If off, run in non-interactive mode and automatically\n\
|
||||||
|
assume the default answer to all queries. If auto (the default),\n\
|
||||||
|
determine which mode to use based on the standard input settings"),
|
||||||
|
NULL,
|
||||||
|
show_interactive_mode,
|
||||||
|
&setlist, &showlist);
|
||||||
|
|
||||||
add_setshow_filename_cmd ("data-directory", class_maintenance,
|
add_setshow_filename_cmd ("data-directory", class_maintenance,
|
||||||
&gdb_datadir, _("Set GDB's data directory."),
|
&gdb_datadir, _("Set GDB's data directory."),
|
||||||
_("Show GDB's data directory."),
|
_("Show GDB's data directory."),
|
||||||
|
Reference in New Issue
Block a user