This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[commit] More uses of add_setshow_ ...


I've also tweaked deprecated_show_value_hack so that it's more robust.

committed,
Andrew
2005-02-21  Andrew Cagney  <cagney@gnu.org>

	Add more uses of add_setshow_string_cmd, add_setshow_integer_cmd,
	and add_setshow_string_noescape_cmd.
	* cli/cli-setshow.c (deprecated_show_value_hack): Do not print a
	NULL command's value.
	* kod.c, language.c, ocd.c, remote-e7000.c, remote-mips.c: Update.
	* remote-sds.c, remote.c, symfile.c, top.c: Update.

Index: kod.c
===================================================================
RCS file: /cvs/src/src/gdb/kod.c,v
retrieving revision 1.13
diff -p -u -r1.13 kod.c
--- kod.c	15 Feb 2005 15:49:12 -0000	1.13
+++ kod.c	21 Feb 2005 06:19:49 -0000
@@ -233,10 +233,10 @@ _initialize_kod (void)
 {
   struct cmd_list_element *c;
 
-  c = add_set_cmd ("os", no_class, var_string,
-		   (char *) &operating_system,
-		   "Set operating system",
-		   &setlist);
-  set_cmd_sfunc (c, kod_set_os);
-  deprecated_add_show_from_set (c, &showlist);
+  add_setshow_string_cmd ("os", no_class, &operating_system, _("\
+Set operating system"), _("\
+Show operating system"), NULL,
+			  kod_set_os,
+			  NULL, /* FIXME: i18n: */
+			  &setlist, &showlist);
 }
Index: language.c
===================================================================
RCS file: /cvs/src/src/gdb/language.c,v
retrieving revision 1.58
diff -p -u -r1.58 language.c
--- language.c	15 Feb 2005 15:49:12 -0000	1.58
+++ language.c	21 Feb 2005 06:19:49 -0000
@@ -48,22 +48,6 @@
 
 extern void _initialize_language (void);
 
-static void show_language_command (char *, int);
-
-static void set_language_command (char *, int);
-
-static void show_type_command (char *, int);
-
-static void set_type_command (char *, int);
-
-static void show_range_command (char *, int);
-
-static void set_range_command (char *, int);
-
-static void show_case_command (char *, int);
-
-static void set_case_command (char *, int);
-
 static void set_case_str (void);
 
 static void set_range_str (void);
@@ -149,10 +133,12 @@ char lang_frame_mismatch_warn[] =
 /* Show command.  Display a warning if the language set
    does not match the frame. */
 static void
-show_language_command (char *ignore, int from_tty)
+show_language_command (struct ui_file *file, int from_tty,
+		       struct cmd_list_element *c, const char *value)
 {
   enum language flang;		/* The language of the current frame */
 
+  deprecated_show_value_hack (file, from_tty, c, value);
   flang = get_frame_language ();
   if (flang != language_unknown &&
       language_mode == language_mode_manual &&
@@ -162,7 +148,7 @@ show_language_command (char *ignore, int
 
 /* Set command.  Change the current working language. */
 static void
-set_language_command (char *ignore, int from_tty)
+set_language_command (char *ignore, int from_tty, struct cmd_list_element *c)
 {
   int i;
   enum language flang;
@@ -235,8 +221,10 @@ local or auto    Automatic setting based
 /* Show command.  Display a warning if the type setting does
    not match the current language. */
 static void
-show_type_command (char *ignore, int from_tty)
+show_type_command (struct ui_file *file, int from_tty,
+		   struct cmd_list_element *c, const char *value)
 {
+  deprecated_show_value_hack (file, from_tty, c, value);
   if (type_check != current_language->la_type_check)
     printf_unfiltered (
 			"Warning: the current type check setting does not match the language.\n");
@@ -244,7 +232,7 @@ show_type_command (char *ignore, int fro
 
 /* Set command.  Change the setting for type checking. */
 static void
-set_type_command (char *ignore, int from_tty)
+set_type_command (char *ignore, int from_tty, struct cmd_list_element *c)
 {
   if (strcmp (type, "on") == 0)
     {
@@ -274,15 +262,16 @@ set_type_command (char *ignore, int from
       warning (_("Unrecognized type check setting: \"%s\""), type);
     }
   set_type_str ();
-  show_type_command ((char *) NULL, from_tty);
+  show_type_command (NULL, from_tty, NULL, NULL);
 }
 
 /* Show command.  Display a warning if the range setting does
    not match the current language. */
 static void
-show_range_command (char *ignore, int from_tty)
+show_range_command (struct ui_file *file, int from_tty,
+		    struct cmd_list_element *c, const char *value)
 {
-
+  deprecated_show_value_hack (file, from_tty, c, value);
   if (range_check != current_language->la_range_check)
     printf_unfiltered (
 			"Warning: the current range check setting does not match the language.\n");
@@ -290,7 +279,7 @@ show_range_command (char *ignore, int fr
 
 /* Set command.  Change the setting for range checking. */
 static void
-set_range_command (char *ignore, int from_tty)
+set_range_command (char *ignore, int from_tty, struct cmd_list_element *c)
 {
   if (strcmp (range, "on") == 0)
     {
@@ -320,22 +309,24 @@ set_range_command (char *ignore, int fro
       warning (_("Unrecognized range check setting: \"%s\""), range);
     }
   set_range_str ();
-  show_range_command ((char *) 0, from_tty);
+  show_range_command (NULL, from_tty, NULL, NULL);
 }
 
 /* Show command.  Display a warning if the case sensitivity setting does
    not match the current language. */
 static void
-show_case_command (char *ignore, int from_tty)
+show_case_command (struct ui_file *file, int from_tty,
+		   struct cmd_list_element *c, const char *value)
 {
-   if (case_sensitivity != current_language->la_case_sensitivity)
-      printf_unfiltered(
+  deprecated_show_value_hack (file, from_tty, c, value);
+  if (case_sensitivity != current_language->la_case_sensitivity)
+    printf_unfiltered(
 "Warning: the current case sensitivity setting does not match the language.\n");
 }
 
 /* Set command.  Change the setting for case sensitivity. */
 static void
-set_case_command (char *ignore, int from_tty)
+set_case_command (char *ignore, int from_tty, struct cmd_list_element *c)
 {
    if (DEPRECATED_STREQ (case_sensitive, "on"))
    {
@@ -360,7 +351,7 @@ set_case_command (char *ignore, int from
       warning (_("Unrecognized case-sensitive setting: \"%s\""), case_sensitive);
    }
    set_case_str();
-   show_case_command ((char *) NULL, from_tty);
+   show_case_command (NULL, from_tty, NULL, NULL);
 }
 
 /* Set the status of range and type checking and case sensitivity based on
@@ -515,16 +506,16 @@ language_info (int quietly)
 
   expected_language = current_language;
   printf_unfiltered (_("Current language:  %s\n"), language);
-  show_language_command ((char *) 0, 1);
+  show_language_command (NULL, 1, NULL, NULL);
 
   if (!quietly)
     {
       printf_unfiltered (_("Type checking:     %s\n"), type);
-      show_type_command ((char *) 0, 1);
+      show_type_command (NULL, 1, NULL, NULL);
       printf_unfiltered (_("Range checking:    %s\n"), range);
-      show_range_command ((char *) 0, 1);
+      show_range_command (NULL, 1, NULL, NULL);
       printf_unfiltered (_("Case sensitivity:  %s\n"), case_sensitive);
-      show_case_command ((char *) 0, 1);
+      show_case_command (NULL, 1, NULL, NULL);
     }
 }
 
@@ -1344,13 +1335,14 @@ _initialize_language (void)
 
   /* GDB commands for language specific stuff */
 
-  set = add_set_cmd ("language", class_support, var_string_noescape,
-		     (char *) &language,
-		     "Set the current source language.",
-		     &setlist);
-  show = deprecated_add_show_from_set (set, &showlist);
-  set_cmd_cfunc (set, set_language_command);
-  set_cmd_cfunc (show, show_language_command);
+  /* FIXME: cagney/2005-02-20: This should be implemented using an
+     enum.  */
+  add_setshow_string_noescape_cmd ("language", class_support, &language, _("\
+Set the current source language."), _("\
+Show the current source language."), NULL,
+				   set_language_command,
+				   show_language_command,
+				   &setlist, &showlist);
 
   add_prefix_cmd ("check", no_class, set_check,
 		  _("Set the status of the type/range checker."),
@@ -1364,30 +1356,34 @@ _initialize_language (void)
   add_alias_cmd ("c", "check", no_class, 1, &showlist);
   add_alias_cmd ("ch", "check", no_class, 1, &showlist);
 
-  set = add_set_cmd ("type", class_support, var_string_noescape,
-		     (char *) &type,
-		     "Set type checking.  (on/warn/off/auto)",
-		     &setchecklist);
-  show = deprecated_add_show_from_set (set, &showchecklist);
-  set_cmd_cfunc (set, set_type_command);
-  set_cmd_cfunc (show, show_type_command);
-
-  set = add_set_cmd ("range", class_support, var_string_noescape,
-		     (char *) &range,
-		     "Set range checking.  (on/warn/off/auto)",
-		     &setchecklist);
-  show = deprecated_add_show_from_set (set, &showchecklist);
-  set_cmd_cfunc (set, set_range_command);
-  set_cmd_cfunc (show, show_range_command);
-
-  set = add_set_cmd ("case-sensitive", class_support, var_string_noescape,
-                     (char *) &case_sensitive,
-                     "Set case sensitivity in name search.  (on/off/auto)\n\
-For Fortran the default is off; for other languages the default is on.",
-                     &setlist);
-  show = deprecated_add_show_from_set (set, &showlist);
-  set_cmd_cfunc (set, set_case_command);
-  set_cmd_cfunc (show, show_case_command);
+  /* FIXME: cagney/2005-02-20: This should be implemented using an
+     enum.  */
+  add_setshow_string_noescape_cmd ("type", class_support, &type, _("\
+Set type checking.  (on/warn/off/auto)"), _("\
+Show type checking.  (on/warn/off/auto)"), NULL,
+				   set_type_command,
+				   show_type_command,
+				   &setchecklist, &showchecklist);
+
+  /* FIXME: cagney/2005-02-20: This should be implemented using an
+     enum.  */
+  add_setshow_string_noescape_cmd ("range", class_support, &range, _("\
+Set range checking.  (on/warn/off/auto)"), _("\
+Show range checking.  (on/warn/off/auto)"), NULL,
+				   set_range_command,
+				   show_range_command,
+				   &setchecklist, &showchecklist);
+
+  /* FIXME: cagney/2005-02-20: This should be implemented using an
+     enum.  */
+  add_setshow_string_noescape_cmd ("case-sensitive", class_support,
+				   &case_sensitive, _("\
+Set case sensitivity in name search.  (on/off/auto)"), _("\
+Show case sensitivity in name search.  (on/off/auto)"), _("\
+For Fortran the default is off; for other languages the default is on."),
+				   set_case_command,
+				   show_case_command,
+				   &setlist, &showlist);
 
   add_language (&unknown_language_defn);
   add_language (&local_language_defn);
Index: ocd.c
===================================================================
RCS file: /cvs/src/src/gdb/ocd.c,v
retrieving revision 1.40
diff -p -u -r1.40 ocd.c
--- ocd.c	15 Feb 2005 15:49:14 -0000	1.40
+++ ocd.c	21 Feb 2005 06:19:49 -0000
@@ -1156,11 +1156,12 @@ _initialize_remote_ocd (void)
   extern struct cmd_list_element *cmdlist;
   static struct cmd_list_element *ocd_cmd_list = NULL;
 
-  deprecated_add_show_from_set
-    (add_set_cmd ("remotetimeout", no_class,
-		  var_integer, (char *) &remote_timeout,
-		  "Set timeout value for remote read.\n", &setlist),
-     &showlist);
+  add_setshow_integer_cmd ("remotetimeout", no_class, &remote_timeout, _("\
+Set timeout value for remote read."), _("\
+Show timeout value for remote read."), NULL,
+			   NULL,
+			   NULL, /* FIXME: i18n: */
+			   &setlist, &showlist);
 
   /* FIXME: i18n: What documentation?  */
   add_prefix_cmd ("ocd", class_obscure, bdm_command, (""), &ocd_cmd_list,
Index: remote-e7000.c
===================================================================
RCS file: /cvs/src/src/gdb/remote-e7000.c,v
retrieving revision 1.52
diff -p -u -r1.52 remote-e7000.c
--- remote-e7000.c	16 Feb 2005 03:21:03 -0000	1.52
+++ remote-e7000.c	21 Feb 2005 06:19:50 -0000
@@ -2207,9 +2207,11 @@ _initialize_remote_e7000 (void)
   add_com ("drain", class_obscure, e7000_drain_command,
 	   _("Drain pending e7000 text buffers."));
 
-  deprecated_add_show_from_set
-    (add_set_cmd ("usehardbreakpoints", no_class,
-		  var_integer, (char *) &use_hard_breakpoints, "\
-Set use of hardware breakpoints for all breakpoints.\n", &setlist),
-     &showlist);
+  add_setshow_integer_cmd ("usehardbreakpoints", no_class,
+			   &use_hard_breakpoints, _("\
+Set use of hardware breakpoints for all breakpoints."), _("\
+Show use of hardware breakpoints for all breakpoints."), NULL,
+			   NULL,
+			   NULL, /* FIXME: i18n: */
+			   &setlist, &showlist);
 }
Index: remote-mips.c
===================================================================
RCS file: /cvs/src/src/gdb/remote-mips.c,v
retrieving revision 1.64
diff -p -u -r1.64 remote-mips.c
--- remote-mips.c	18 Feb 2005 18:58:56 -0000	1.64
+++ remote-mips.c	21 Feb 2005 06:19:50 -0000
@@ -3399,12 +3399,13 @@ ignored.)"),
 			    NULL, /* FIXME: i18n: */
 			    &setlist, &showlist);
 
-  deprecated_add_show_from_set
-    (add_set_cmd ("monitor-prompt", class_obscure, var_string,
-		  (char *) &mips_monitor_prompt,
-		  "Set the prompt that GDB expects from the monitor.",
-		  &setlist),
-     &showlist);
+  add_setshow_string_cmd ("monitor-prompt", class_obscure,
+			  &mips_monitor_prompt, _("\
+Set the prompt that GDB expects from the monitor."), _("\
+Show the prompt that GDB expects from the monitor."), NULL,
+			  NULL,
+			  NULL, /* FIXME: i18n: */
+			  &setlist, &showlist);
 
   add_setshow_zinteger_cmd ("monitor-warnings", class_obscure,
 			    &monitor_warnings, _("\
Index: remote-sds.c
===================================================================
RCS file: /cvs/src/src/gdb/remote-sds.c,v
retrieving revision 1.39
diff -p -u -r1.39 remote-sds.c
--- remote-sds.c	15 Feb 2005 15:49:15 -0000	1.39
+++ remote-sds.c	21 Feb 2005 06:19:50 -0000
@@ -1116,11 +1116,12 @@ _initialize_remote_sds (void)
   init_sds_ops ();
   add_target (&sds_ops);
 
-  deprecated_add_show_from_set
-    (add_set_cmd ("sdstimeout", no_class,
-		  var_integer, (char *) &sds_timeout,
-		  "Set timeout value for sds read.\n", &setlist),
-     &showlist);
+  add_setshow_integer_cmd ("sdstimeout", no_class, &sds_timeout, _("\
+Set timeout value for sds read."), _("\
+Show timeout value for sds read."), NULL,
+			   NULL,
+			   NULL, /* FIXME: i18n: */
+			   &setlist, &showlist);
 
   add_com ("sds", class_obscure, sds_command,
 	   _("Send a command to the SDS monitor."));
Index: remote.c
===================================================================
RCS file: /cvs/src/src/gdb/remote.c,v
retrieving revision 1.173
diff -p -u -r1.173 remote.c
--- remote.c	18 Feb 2005 15:25:27 -0000	1.173
+++ remote.c	21 Feb 2005 06:19:51 -0000
@@ -5674,13 +5674,13 @@ Specify a negative limit for unlimited."
 			    NULL, NULL, /* FIXME: i18n: The maximum number of target hardware breakpoints is %s.  */
 			    &remote_set_cmdlist, &remote_show_cmdlist);
 
-  deprecated_add_show_from_set
-    (add_set_cmd ("remoteaddresssize", class_obscure,
-		  var_integer, (char *) &remote_address_size,
-		  "Set the maximum size of the address (in bits) \
-in a memory packet.\n",
-		  &setlist),
-     &showlist);
+  add_setshow_integer_cmd ("remoteaddresssize", class_obscure,
+			   &remote_address_size, _("\
+Set the maximum size of the address (in bits) in a memory packet."), _("\
+Show the maximum size of the address (in bits) in a memory packet."), NULL,
+			   NULL,
+			   NULL, /* FIXME: i18n: */
+			   &setlist, &showlist);
 
   add_packet_config_cmd (&remote_protocol_binary_download,
 			 "X", "binary-download",
Index: symfile.c
===================================================================
RCS file: /cvs/src/src/gdb/symfile.c,v
retrieving revision 1.152
diff -p -u -r1.152 symfile.c
--- symfile.c	18 Feb 2005 15:25:28 -0000	1.152
+++ symfile.c	21 Feb 2005 06:19:52 -0000
@@ -3607,17 +3607,18 @@ Usage: set extension-language .foo bar")
   add_info ("extensions", info_ext_lang_command,
 	    _("All filename extensions associated with a source language."));
 
-  deprecated_add_show_from_set
-    (add_set_cmd ("download-write-size", class_obscure,
-		  var_integer, (char *) &download_write_size,
-		  "Set the write size used when downloading a program.\n"
-		  "Only used when downloading a program onto a remote\n"
-		  "target. Specify zero, or a negative value, to disable\n"
-		  "blocked writes. The actual size of each transfer is also\n"
-		  "limited by the size of the target packet and the memory\n"
-		  "cache.\n",
-		  &setlist),
-     &showlist);
+  add_setshow_integer_cmd ("download-write-size", class_obscure,
+			   &download_write_size, _("\
+Set the write size used when downloading a program."), _("\
+Show the write size used when downloading a program."), _("\
+Only used when downloading a program onto a remote\n\
+target. Specify zero, or a negative value, to disable\n\
+blocked writes. The actual size of each transfer is also\n\
+limited by the size of the target packet and the memory\n\
+cache."),
+			   NULL,
+			   NULL, /* FIXME: i18n: */
+			   &setlist, &showlist);
 
   debug_file_directory = xstrdup (DEBUGDIR);
   c = (add_set_cmd
Index: top.c
===================================================================
RCS file: /cvs/src/src/gdb/top.c,v
retrieving revision 1.101
diff -p -u -r1.101 top.c
--- top.c	18 Feb 2005 18:58:56 -0000	1.101
+++ top.c	21 Feb 2005 06:19:52 -0000
@@ -1374,11 +1374,13 @@ init_main (void)
      15 is Control-o, the same binding this function has in Bash.  */
   rl_add_defun ("operate-and-get-next", gdb_rl_operate_and_get_next, 15);
 
-  c = add_set_cmd ("prompt", class_support, var_string,
-		   (char *) &new_async_prompt, "Set gdb's prompt",
-		   &setlist);
-  deprecated_add_show_from_set (c, &showlist);
-  set_cmd_sfunc (c, set_async_prompt);
+  add_setshow_string_cmd ("prompt", class_support,
+			  &new_async_prompt, _("\
+Set gdb's prompt"), _("\
+Show gdb's prompt"), NULL,
+			  set_async_prompt,
+			  NULL, /* FIXME: i18n: */
+			  &setlist, &showlist);
 
   add_com ("dont-repeat", class_support, dont_repeat_command, _("\
 Don't repeat this command.\n\
@@ -1405,18 +1407,21 @@ Without an argument, saving is enabled."
 			   NULL, /* FIXME: i18n: */
 			   &sethistlist, &showhistlist);
 
-  c = add_set_cmd ("size", no_class, var_integer, (char *) &history_size,
-		   "Set the size of the command history,\n\
-ie. the number of previous commands to keep a record of.", &sethistlist);
-  deprecated_add_show_from_set (c, &showhistlist);
-  set_cmd_sfunc (c, set_history_size_command);
-
-  c = add_set_cmd ("filename", no_class, var_filename,
-		   (char *) &history_filename,
-		   "Set the filename in which to record the command history\n\
-(the list of previous commands of which a record is kept).", &sethistlist);
-  set_cmd_completer (c, filename_completer);
-  deprecated_add_show_from_set (c, &showhistlist);
+  add_setshow_integer_cmd ("size", no_class, &history_size, _("\
+Set the size of the command history,"), _("\
+Show the size of the command history,"), _("\
+ie. the number of previous commands to keep a record of."),
+			   set_history_size_command,
+			   NULL, /* FIXME: i18n: */
+			   &sethistlist, &showhistlist);
+
+  add_setshow_filename_cmd ("filename", no_class, &history_filename, _("\
+Set the filename in which to record the command history"), _("\
+Show the filename in which to record the command history"), _("\
+(the list of previous commands of which a record is kept)."),
+			    NULL,
+			    NULL, /* FIXME: i18n: */
+			    &sethistlist, &showhistlist);
 
   add_setshow_boolean_cmd ("confirm", class_support, &caution, _("\
 Set whether to confirm potentially dangerous operations."), _("\
Index: cli/cli-setshow.c
===================================================================
RCS file: /cvs/src/src/gdb/cli/cli-setshow.c,v
retrieving revision 1.22
diff -p -u -r1.22 cli-setshow.c
--- cli/cli-setshow.c	21 Feb 2005 03:25:56 -0000	1.22
+++ cli/cli-setshow.c	21 Feb 2005 06:19:52 -0000
@@ -96,6 +96,9 @@ deprecated_show_value_hack (struct ui_fi
 			    struct cmd_list_element *c,
 			    const char *value)
 {
+  /* If there's no command or value, don't try to print it out.  */
+  if (c == NULL || value == NULL)
+    return;
   /* Print doc minus "show" at start.  */
   print_doc_line (gdb_stdout, c->doc + 5);
   switch (c->var_type)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]