From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17455 invoked by alias); 2 Feb 2006 02:07:46 -0000 Received: (qmail 17446 invoked by uid 22791); 2 Feb 2006 02:07:45 -0000 X-Spam-Check-By: sourceware.org Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Thu, 02 Feb 2006 02:07:43 +0000 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1F4Tsq-0005IX-Cg for gdb-patches@sourceware.org; Wed, 01 Feb 2006 21:07:40 -0500 Date: Thu, 02 Feb 2006 02:07:00 -0000 From: Daniel Jacobowitz To: gdb-patches@sourceware.org Subject: Re: RFC: Clean up "show remote" Message-ID: <20060202020740.GC19694@nevyn.them.org> Mail-Followup-To: gdb-patches@sourceware.org References: <20060122201759.GA28863@nevyn.them.org> <20060123051544.GA5009@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060123051544.GA5009@nevyn.them.org> User-Agent: Mutt/1.5.8i X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-02/txt/msg00020.txt.bz2 On Mon, Jan 23, 2006 at 12:15:44AM -0500, Daniel Jacobowitz wrote: > > > An alternative if the code in show_remote_cmd is too ugly would be to delete > > > "show remote Z-packet". I think we have to leave "set remote Z-packet" - > > > it's five years obsoleted but never marked as deprecated and I know people > > > are continuing to use it - but the show command is completely redundant. > > > > I think what you did is fine, but perhaps explain a bit more in > > comments about why Z-packet is redundant, and that maybe it should be > > removed later on. > > Willdo (although I don't know if we can reasonably remove the "set" > variant - I keep finding new docs suggesting it.) I've checked in this version. I'll be back to the line-wrapping problem at some later date - and back to the formatting question if anyone has a preference for that. -- Daniel Jacobowitz CodeSourcery 2006-02-01 Daniel Jacobowitz * Makefile.in (remote.o): Update. * remote.c (show_packet_config_cmd): Shorten messages. (remote_set_cmdlist, remote_show_cmdlist): Make file-static. (show_remote_cmd): Iterate. (_initialize_remote): Remove remote_set_cmdlist, remote_show_cmdlist. Index: Makefile.in =================================================================== RCS file: /cvs/src/src/gdb/Makefile.in,v retrieving revision 1.781 diff -u -p -r1.781 Makefile.in --- Makefile.in 1 Feb 2006 23:14:09 -0000 1.781 +++ Makefile.in 2 Feb 2006 02:03:55 -0000 @@ -2441,7 +2441,8 @@ remote.o: remote.c $(defs_h) $(gdb_strin $(symfile_h) $(exceptions_h) $(target_h) $(gdbcmd_h) $(objfiles_h) \ $(gdb_stabs_h) $(gdbthread_h) $(remote_h) $(regcache_h) $(value_h) \ $(gdb_assert_h) $(event_loop_h) $(event_top_h) $(inf_loop_h) \ - $(serial_h) $(gdbcore_h) $(remote_fileio_h) $(solib_h) $(observer_h) + $(serial_h) $(gdbcore_h) $(remote_fileio_h) $(solib_h) $(observer_h) \ + $(cli_decode_h) $(cli_setshow_h) remote-e7000.o: remote-e7000.c $(defs_h) $(gdbcore_h) $(gdbarch_h) \ $(inferior_h) $(target_h) $(value_h) $(command_h) $(gdb_string_h) \ $(exceptions_h) $(gdbcmd_h) $(serial_h) $(remote_utils_h) \ Index: remote.c =================================================================== RCS file: /cvs/src/src/gdb/remote.c,v retrieving revision 1.200 diff -u -p -r1.200 remote.c --- remote.c 24 Jan 2006 22:34:34 -0000 1.200 +++ remote.c 2 Feb 2006 02:03:56 -0000 @@ -43,6 +43,8 @@ #include "gdb_assert.h" #include "observer.h" #include "solib.h" +#include "cli/cli-decode.h" +#include "cli/cli-setshow.h" #include #include @@ -612,13 +614,13 @@ show_packet_config_cmd (struct packet_co switch (config->detect) { case AUTO_BOOLEAN_AUTO: - printf_filtered (_("Support for remote protocol `%s' (%s) packet is auto-detected, currently %s.\n"), - config->name, config->title, support); + printf_filtered (_("Support for the `%s' packet is auto-detected, currently %s.\n"), + config->name, support); break; case AUTO_BOOLEAN_TRUE: case AUTO_BOOLEAN_FALSE: - printf_filtered (_("Support for remote protocol `%s' (%s) packet is currently %s.\n"), - config->name, config->title, support); + printf_filtered (_("Support for the `%s' packet is currently %s.\n"), + config->name, support); break; } } @@ -5544,6 +5546,9 @@ Specify the serial device it is connecte extended_async_remote_ops.to_mourn_inferior = extended_remote_mourn; } +static struct cmd_list_element *remote_set_cmdlist; +static struct cmd_list_element *remote_show_cmdlist; + static void set_remote_cmd (char *args, int from_tty) { @@ -5552,16 +5557,25 @@ set_remote_cmd (char *args, int from_tty static void show_remote_cmd (char *args, int from_tty) { - /* FIXME: cagney/2002-06-15: This function should iterate over - remote_show_cmdlist for a list of sub commands to show. */ - show_remote_protocol_Z_packet_cmd (gdb_stdout, from_tty, NULL, NULL); - show_remote_protocol_P_packet_cmd (gdb_stdout, from_tty, NULL, NULL); - show_remote_protocol_p_packet_cmd (gdb_stdout, from_tty, NULL, NULL); - show_remote_protocol_qSymbol_packet_cmd (gdb_stdout, from_tty, NULL, NULL); - show_remote_protocol_vcont_packet_cmd (gdb_stdout, from_tty, NULL, NULL); - show_remote_protocol_binary_download_cmd (gdb_stdout, from_tty, NULL, NULL); - show_remote_protocol_qPart_auxv_packet_cmd (gdb_stdout, from_tty, NULL, NULL); - show_remote_protocol_qGetTLSAddr_packet_cmd (gdb_stdout, from_tty, NULL, NULL); + /* We can't just use cmd_show_list here, because we want to skip + the redundant "show remote Z-packet". */ + struct cleanup *showlist_chain; + struct cmd_list_element *list = remote_show_cmdlist; + + showlist_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "showlist"); + for (; list != NULL; list = list->next) + if (strcmp (list->name, "Z-packet") == 0) + continue; + else if (list->type == show_cmd) + { + struct cleanup *option_chain + = make_cleanup_ui_out_tuple_begin_end (uiout, "option"); + ui_out_field_string (uiout, "name", list->name); + ui_out_text (uiout, ": "); + do_setshow_command ((char *) NULL, from_tty, list); + /* Close the tuple. */ + do_cleanups (option_chain); + } } static void @@ -5590,9 +5604,6 @@ remote_new_objfile (struct objfile *objf void _initialize_remote (void) { - static struct cmd_list_element *remote_set_cmdlist; - static struct cmd_list_element *remote_show_cmdlist; - /* architecture specific data */ remote_gdbarch_data_handle = gdbarch_data_register_post_init (init_remote_state); @@ -5798,7 +5809,10 @@ Show the maximum size of the address (in &remote_set_cmdlist, &remote_show_cmdlist, 0); - /* Keep the old ``set remote Z-packet ...'' working. */ + /* Keep the old ``set remote Z-packet ...'' working. Each individual + Z sub-packet has its own set and show commands, but users may + have sets to this variable in their .gdbinit files (or in their + documentation). */ add_setshow_auto_boolean_cmd ("Z-packet", class_obscure, &remote_Z_packet_detect, _("\ Set use of remote protocol `Z' packets"), _("\