16026cd75d
* cli/cli-cmds.c (source_verbose, trace_commands): New variables. (source_script): New function. (source_verbose_cleanup): New function. (source_command): Move old contents to source_script. Make function static. Parse -v option and call source_script. (init_cli_cmds): Update source command help. Add 'set trace-commands' command. * cli/cli-script.c (command_next_depth): New static variable. (suppress_next_print_command_trace): New static variable. (reset_command_nest_depth): New function. (print_command_trace): New function. (execute_control_command): Split the continue_control and break_control cases, add calls to print_command_trace and count the nest depth. (while_command): Set suppress_next_print_command_trace. (if_command): Likewise. * top.c (execute_command): Call print_command_trace. * cli/cli-cmds.h (source_verbose, trace_commands): New extern variables. (source_command): Change to source_script. * main.c (captued_main): Use source_script instead of source_command. * top.h (source_command): Change to source_script. * event-top.c (display_gdb_prompt): Call reset_command_nest_depth. * cli/cli-script.h (print_command_trace): Export. (reset_command_nest_depth): Likewise. docs/ * gdb.texinfo (Optional warnings and messages): Add 'set/show trace-commands'. (Command files): Add '-v' to source command. testsuite/ * gdb.base/default.exp: Update source command error message. * gdb.base/help.exp: Update 'help source' message.
64 lines
1.9 KiB
C
64 lines
1.9 KiB
C
/* Header file for GDB CLI command implementation library.
|
|
Copyright (c) 2000, 2002 Free Software Foundation, Inc.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
Boston, MA 02110-1301, USA. */
|
|
|
|
#if !defined (CLI_SCRIPT_H)
|
|
#define CLI_SCRIPT_H 1
|
|
|
|
struct ui_file;
|
|
struct command_line;
|
|
struct cmd_list_element;
|
|
|
|
/* Exported to cli/cli-cmds.c */
|
|
|
|
extern void script_from_file (FILE *stream, char *file);
|
|
|
|
extern void document_command (char *, int);
|
|
|
|
extern void define_command (char *, int);
|
|
|
|
extern void while_command (char *arg, int from_tty);
|
|
|
|
extern void if_command (char *arg, int from_tty);
|
|
|
|
extern void show_user_1 (struct cmd_list_element *c, struct ui_file *stream);
|
|
|
|
/* Exported to gdb/breakpoint.c */
|
|
|
|
extern enum command_control_type
|
|
execute_control_command (struct command_line *cmd);
|
|
|
|
extern void print_command_lines (struct ui_out *,
|
|
struct command_line *, unsigned int);
|
|
|
|
extern struct command_line * copy_command_lines (struct command_line *cmds);
|
|
|
|
struct cleanup *make_cleanup_free_command_lines (struct command_line **arg);
|
|
|
|
/* Exported to gdb/infrun.c */
|
|
|
|
extern void execute_user_command (struct cmd_list_element *c, char *args);
|
|
|
|
/* Exported to top.c */
|
|
|
|
extern void print_command_trace (const char *cmd);
|
|
|
|
/* Exported to event-top.c */
|
|
|
|
extern void reset_command_nest_depth (void);
|
|
|
|
#endif /* !defined (CLI_SCRIPT_H) */
|