Revert 2009-08-07 changes for PR gdb/8869:
[deliverable/binutils-gdb.git] / gdb / language.c
index 04c2fe48d3a5108e7aa2fa16149d068859cb5d2d..62eeb621f03b1419c24a84885215bd3487f54d4c 100644 (file)
@@ -150,21 +150,11 @@ show_language_command (struct ui_file *file, int from_tty,
 static void
 set_language_command (char *ignore, int from_tty, struct cmd_list_element *c)
 {
-  int i, len;
+  int i;
   enum language flang;
-  char *err_lang, *tem;
-
-  /* Strip trailing whitespace.  */
-  if (!language)
-    len = 0;
-  else
-    {
-      len = strlen (language);
-      while (len > 0 && language[len - 1] == ' ')
-       --len;
-    }
+  char *err_lang;
 
-  if (len == 0)
+  if (!language || !language[0])
     {
       printf_unfiltered (_("\
 The currently understood settings are:\n\n\
@@ -191,11 +181,6 @@ local or auto    Automatic setting based on source file\n"));
       return;
     }
 
-  /* Reset LANGUAGE to avoid trailing spaces.  */
-  tem = savestring (language, len);
-  xfree (language);
-  language = tem;
-
   /* Search the list of languages for a match.  */
   for (i = 0; i < languages_size; i++)
     {
@@ -236,20 +221,6 @@ local or auto    Automatic setting based on source file\n"));
   error (_("Unknown language `%s'."), err_lang);
 }
 
-static char **
-language_completer (struct cmd_list_element *self, char *text, char *word)
-{
-  int i;
-  const char **langnames
-    = (const char **) alloca ((languages_size + 1) * sizeof (const char *));
-
-  for (i = 0; i < languages_size; ++i)
-    langnames[i] = languages[i]->la_name;
-  langnames[i] = NULL;
-
-  return complete_on_enum (langnames, text, word);
-}
-
 /* Show command.  Display a warning if the type setting does
    not match the current language. */
 static void
@@ -266,18 +237,6 @@ show_type_command (struct ui_file *file, int from_tty,
 static void
 set_type_command (char *ignore, int from_tty, struct cmd_list_element *c)
 {
-  int len;
-  char *tem;
-
-  /* Strip trailing whitespace.  */
-  len = strlen (type);
-  while (len > 0 && type[len - 1] == ' ')
-    --len;
-  /* Reset TYPE.  */
-  tem = savestring (type, len);
-  xfree (type);
-  type = tem;
-
   if (strcmp (type, "on") == 0)
     {
       type_check = type_check_on;
@@ -325,18 +284,6 @@ show_range_command (struct ui_file *file, int from_tty,
 static void
 set_range_command (char *ignore, int from_tty, struct cmd_list_element *c)
 {
-  int len;
-  char *tem;
-
-  /* Strip trailing whitespace.  */
-  len = strlen (range);
-  while (len > 0 && range[len - 1] == ' ')
-    --len;
-  /* Reset RANGE.  */
-  tem = savestring (range, len);
-  xfree (range);
-  range = tem;
-
   if (strcmp (range, "on") == 0)
     {
       range_check = range_check_on;
@@ -368,14 +315,6 @@ set_range_command (char *ignore, int from_tty, struct cmd_list_element *c)
   show_range_command (NULL, from_tty, NULL, NULL);
 }
 
-/* Completer for range and type parameters.  */
-static char **
-range_or_type_completer (struct cmd_list_element *self, char *text, char *word)
-{
-  static const char *values[] = { "on", "off", "warn", "auto", NULL };
-  return complete_on_enum (values, text, word);
-}
-
 /* Show command.  Display a warning if the case sensitivity setting does
    not match the current language. */
 static void
@@ -420,14 +359,6 @@ set_case_command (char *ignore, int from_tty, struct cmd_list_element *c)
    show_case_command (NULL, from_tty, NULL, NULL);
 }
 
-/* Completer for case-sensitive parameter.  */
-static char **
-case_completer (struct cmd_list_element *self, char *text, char *word)
-{
-  static const char *values[] = { "on", "off", "auto", NULL };
-  return complete_on_enum (values, text, word);
-}
-
 /* Set the status of range and type checking and case sensitivity based on
    the current modes and the current language.
    If SHOW is non-zero, then print out the current language,
@@ -1409,21 +1340,21 @@ language_lookup_primitive_type_by_name (const struct language_defn *la,
 void
 _initialize_language (void)
 {
-  struct cmd_list_element *command;
+  struct cmd_list_element *set, *show;
 
   language_gdbarch_data
     = gdbarch_data_register_post_init (language_gdbarch_post_init);
 
   /* GDB commands for language specific stuff */
 
-  command = add_setshow_string_noescape_cmd ("language", class_support,
-                                            &language, _("\
+  /* 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);
-  set_cmd_completer (command, language_completer);
+                                  set_language_command,
+                                  show_language_command,
+                                  &setlist, &showlist);
 
   add_prefix_cmd ("check", no_class, set_check,
                  _("Set the status of the type/range checker."),
@@ -1437,36 +1368,34 @@ Show the current source language."), NULL,
   add_alias_cmd ("c", "check", no_class, 1, &showlist);
   add_alias_cmd ("ch", "check", no_class, 1, &showlist);
 
-  command =
-    add_setshow_string_noescape_cmd ("type", class_support,
-                                    &type, _("\
+  /* 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);
-  set_cmd_completer (command, range_or_type_completer);
-
-  command =
-    add_setshow_string_noescape_cmd ("range", class_support,
-                                    &range, _("\
+                                  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);
-  set_cmd_completer (command, range_or_type_completer);
-
-  command =
-    add_setshow_string_noescape_cmd ("case-sensitive", class_support,
-                                    &case_sensitive, _("\
+                                  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);
-  set_cmd_completer (command, case_completer);
+                                  set_case_command,
+                                  show_case_command,
+                                  &setlist, &showlist);
 
   add_language (&unknown_language_defn);
   add_language (&local_language_defn);
This page took 0.026689 seconds and 4 git commands to generate.