diff options
author | Tom Tromey <tromey@redhat.com> | 2001-11-22 00:23:13 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2001-11-22 00:23:13 +0000 |
commit | 552c04a7423afb694bd4948e8896b3c4cc4be816 (patch) | |
tree | d8dc2eb4aa8f8fcaafcd69d55584e295a99541f3 /gdb/cli | |
parent | aa26fa3a7e8aaec115e103eaf2108e7023e658c2 (diff) | |
download | binutils-552c04a7423afb694bd4948e8896b3c4cc4be816.tar.gz binutils-552c04a7423afb694bd4948e8896b3c4cc4be816.tar.bz2 binutils-552c04a7423afb694bd4948e8896b3c4cc4be816.zip |
Fix for PR gdb/209, PR gdb/156:
* gdbarch.c, gdbarch.h: Rebuilt.
* gdbarch.sh: Added `construct_inferior_arguments'.
* cli/cli-decode.h (cmd_list_element): Added pre_show_hook.
Typo fix.
* cli/cli-setshow.c (do_setshow_command): Call the pre_show_hook.
* infcmd.c (_initialize_infcmd): Set sfunc on `set args' command.
(inferior_argc, inferior_argv): New globals.
(notice_args_set): New function.
(set_inferior_args): Clear inferior_argc and inferior_argv.
(set_inferior_args_vector): New function.
(get_inferior_args): Handle inferior argument vector.
(run_command): Use get_inferior_args().
(notice_args_read): New function.
(_initialize_infcmd): Don't call set_inferior_args.
* command.h: Typo fix.
(cmd_list_element): Added pre_show_hook.
* main.c (captured_main): Added --args option.
(print_gdb_help): Document --args.
* inferior.h (construct_inferior_arguments): Declare.
(set_inferior_args_vector): Likewise.
* fork-child.c (construct_inferior_arguments): New function.
Diffstat (limited to 'gdb/cli')
-rw-r--r-- | gdb/cli/cli-decode.h | 6 | ||||
-rw-r--r-- | gdb/cli/cli-setshow.c | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gdb/cli/cli-decode.h b/gdb/cli/cli-decode.h index d35685c4f92..e9e354eec0f 100644 --- a/gdb/cli/cli-decode.h +++ b/gdb/cli/cli-decode.h @@ -128,7 +128,7 @@ struct cmd_list_element /* If type is not_set_cmd, call it like this: */ void (*cfunc) (char *args, int from_tty); - /* If type is cmd_set or show_cmd, first set the variables, and + /* If type is set_cmd or show_cmd, first set the variables, and then call this. */ void (*sfunc) (char *args, int from_tty, struct cmd_list_element * c); } @@ -166,6 +166,10 @@ struct cmd_list_element /* if this command is deprecated, this is the replacement name */ char *replacement; + /* If this command represents a show command, then this function + is called before the variable's value is examined. */ + void (*pre_show_hook) (struct cmd_list_element *c); + /* Hook for another command to be executed before this command. */ struct cmd_list_element *hook_pre; diff --git a/gdb/cli/cli-setshow.c b/gdb/cli/cli-setshow.c index bd3dd1a8c7b..3489fc059de 100644 --- a/gdb/cli/cli-setshow.c +++ b/gdb/cli/cli-setshow.c @@ -267,6 +267,10 @@ do_setshow_command (char *arg, int from_tty, struct cmd_list_element *c) old_chain = make_cleanup_ui_out_stream_delete (stb); #endif /* UI_OUT */ + /* Possibly call the pre hook. */ + if (c->pre_show_hook) + (c->pre_show_hook) (c); + /* Print doc minus "show" at start. */ print_doc_line (gdb_stdout, c->doc + 5); |