* Rename remote-es1800.c to remote-es.c
[deliverable/binutils-gdb.git] / gdb / main.c
index 5efb478e8d820a50004c40d38e857d15449b99b6..9706105ac4413f5fdad1e6185263645967124780 100644 (file)
@@ -72,7 +72,7 @@ static void
 command_loop_marker PARAMS ((int));
 
 static void
-print_gdb_version PARAMS ((void));
+print_gdb_version PARAMS ((FILE *));
 
 static void
 quit_command PARAMS ((char *, int));
@@ -119,9 +119,6 @@ set_history_size_command PARAMS ((char *, int, struct cmd_list_element *));
 static void
 show_commands PARAMS ((char *, int));
 
-static void
-dump_me_command PARAMS ((char *, int));
-
 static void
 echo_command PARAMS ((char *, int));
 
@@ -152,6 +149,9 @@ info_command PARAMS ((char *, int));
 static void
 do_nothing PARAMS ((int));
 
+static int
+quit_cover PARAMS ((char *));
+
 static void
 disconnect PARAMS ((int));
 
@@ -169,7 +169,8 @@ source_cleanup PARAMS ((FILE *));
 #ifndef        GDBINIT_FILENAME
 #define        GDBINIT_FILENAME        ".gdbinit"
 #endif
-char gdbinit[] = GDBINIT_FILENAME;
+static char gdbinit[] = GDBINIT_FILENAME;
+static int inhibit_gdbinit = 0;
 
 #define        ALL_CLEANUPS    ((struct cleanup *)0)
 
@@ -227,7 +228,12 @@ struct cmd_list_element *enablebreaklist;
 
 struct cmd_list_element *setlist;
 
+/* Chain containing all defined unset subcommands */
+
+struct cmd_list_element *unsetlist;
+
 /* Chain containing all defined show subcommands.  */
+
 struct cmd_list_element *showlist;
 
 /* Chain containing all defined \"set history\".  */
@@ -235,12 +241,39 @@ struct cmd_list_element *showlist;
 struct cmd_list_element *sethistlist;
 
 /* Chain containing all defined \"show history\".  */
+
 struct cmd_list_element *showhistlist;
 
 /* Chain containing all defined \"unset history\".  */
 
 struct cmd_list_element *unsethistlist;
 
+/* Chain containing all defined maintenance subcommands. */
+
+#if MAINTENANCE_CMDS
+struct cmd_list_element *maintenancelist;
+#endif
+
+/* Chain containing all defined "maintenance info" subcommands. */
+
+#if MAINTENANCE_CMDS
+struct cmd_list_element *maintenanceinfolist;
+#endif
+
+/* Chain containing all defined "maintenance print" subcommands. */
+
+#if MAINTENANCE_CMDS
+struct cmd_list_element *maintenanceprintlist;
+#endif
+
+struct cmd_list_element *setprintlist;
+
+struct cmd_list_element *showprintlist;
+
+struct cmd_list_element *setchecklist;
+
+struct cmd_list_element *showchecklist;
+
 /* stdio stream that command input is being read from.  */
 
 FILE *instream;
@@ -352,10 +385,23 @@ static void
 disconnect (signo)
 int signo;
 {
-  kill_inferior_fast ();
-  signal (signo, SIG_DFL);
+  catch_errors (quit_cover, NULL,
+               "Could not kill the program being debugged");
+  signal (SIGHUP, SIG_DFL);
   kill (getpid (), SIGHUP);
 }
+
+/* Just a little helper function for disconnect().  */
+
+static int
+quit_cover (s)
+char *s;
+{
+  caution = 0;         /* Throw caution to the wind -- we're exiting.
+                          This prevents asking the user dumb questions.  */
+  quit_command((char *)0, 0);
+  return 0;
+}
 \f
 /* Clean up on error during a "source" command (or execution of a
    user-defined command).  */
@@ -387,7 +433,6 @@ main (argc, argv)
      char **argv;
 {
   int count;
-  static int inhibit_gdbinit = 0;
   static int quiet = 0;
   static int batch = 0;
 
@@ -474,6 +519,7 @@ main (argc, argv)
        {"m", no_argument, &mapped_symbol_files, 1},
        {"quiet", no_argument, &quiet, 1},
        {"q", no_argument, &quiet, 1},
+       {"silent", no_argument, &quiet, 1},
        {"nx", no_argument, &inhibit_gdbinit, 1},
        {"n", no_argument, &inhibit_gdbinit, 1},
        {"batch", no_argument, &batch, 1},
@@ -568,20 +614,19 @@ main (argc, argv)
 #endif
          case '?':
            fprintf (stderr,
-                    "Use `%s +help' for a complete list of options.\n",
+                    "Use `%s --help' for a complete list of options.\n",
                     argv[0]);
            exit (1);
          }
-
       }
+
     if (print_help)
       {
-       fputs ("\
-This is GDB, the GNU debugger.  Use the command\n\
-    gdb [options] [executable [core-file]]\n\
-to enter the debugger.\n\
-\n\
-Options available are:\n\
+       print_gdb_version(stderr);
+       fputs ("\n\
+This is the GNU debugger.  Usage:\n\
+    gdb [options] [executable-file [core-file or process-id]]\n\
+Options:\n\
   -help             Print this message.\n\
   -quiet            Do not print version number on startup.\n\
   -fullname         Output information used by emacs-GDB interface.\n\
@@ -645,7 +690,7 @@ GDB manual (available as on-line info or a printed manual).\n", stderr);
       /* Print all the junk at the top, with trailing "..." if we are about
         to read a symbol file (possibly slowly).  */
       print_gnu_advertisement ();
-      print_gdb_version ();
+      print_gdb_version (stdout);
       if (symarg)
        printf_filtered ("..");
       wrap_here("");
@@ -656,6 +701,12 @@ GDB manual (available as on-line info or a printed manual).\n", stderr);
   /* We may get more than one warning, don't double space all of them... */
   warning_pre_print = "\nwarning: ";
 
+  /* We need a default language for parsing expressions, so simple things like
+     "set width 0" won't fail if no language is explicitly set in a config file
+     or implicitly set by reading an executable during startup. */
+  set_language (language_c);
+  expected_language = current_language;        /* don't warn about the change.  */
+
   /* Read and execute $HOME/.gdbinit file, if it exists.  This is done
      *before* all the command line arguments are processed; it sets
      global parameters, which are independent of what file you are
@@ -670,8 +721,6 @@ GDB manual (available as on-line info or a printed manual).\n", stderr);
       strcat (homeinit, gdbinit);
       if (!inhibit_gdbinit && access (homeinit, R_OK) == 0)
        {
-         /* The official language of expressions in $HOME/.gdbinit is C. */
-         set_language (language_c);
          if (!setjmp (to_top_level))
            source_command (homeinit, 0);
        }
@@ -709,7 +758,7 @@ GDB manual (available as on-line info or a printed manual).\n", stderr);
 
   if (execarg != NULL
       && symarg != NULL
-      && strcmp (execarg, symarg) == 0)
+      && STREQ (execarg, symarg))
     {
       /* The exec file and the symbol-file are the same.  If we can't open
         it, better only print one error message.  */
@@ -738,25 +787,6 @@ GDB manual (available as on-line info or a printed manual).\n", stderr);
   error_pre_print = "\n";
   warning_pre_print = "\nwarning: ";
 
-  /* Set the initial language. */
-  {
-    struct partial_symtab *pst = find_main_psymtab ();
-    enum language lang = language_unknown;     
-    if (pst == NULL) ;
-#if 0
-    /* A better solution would set the language when reading the psymtab.
-       This would win for symbol file formats that encode the langauge,
-       such as DWARF.  But, we don't do that yet. FIXME */
-    else if (pst->language != language_unknown)
-       lang = pst->language;
-#endif
-    else if (pst->filename != NULL)
-      lang = deduce_language_from_filename (pst->filename);
-    if (lang == language_unknown) /* Make C the default language */
-       lang = language_c;
-    set_language (lang);
-  }
-
   if (corearg != NULL)
     if (!setjmp (to_top_level))
       core_file_command (corearg, !batch);
@@ -783,19 +813,23 @@ GDB manual (available as on-line info or a printed manual).\n", stderr);
   if (!homedir
       || memcmp ((char *) &homebuf, (char *) &cwdbuf, sizeof (struct stat)))
     if (!inhibit_gdbinit && access (gdbinit, R_OK) == 0)
-      if (!setjmp (to_top_level))
-       source_command (gdbinit, 0);
-      do_cleanups (ALL_CLEANUPS);
-
-  for (i = 0; i < ncmd; i++)
-    if (!setjmp (to_top_level))
       {
-       if (cmdarg[i][0] == '-' && cmdarg[i][1] == '\0')
-         read_command_file (stdin);
-       else
-         source_command (cmdarg[i], !batch);
-       do_cleanups (ALL_CLEANUPS);
+       if (!setjmp (to_top_level))
+         source_command (gdbinit, 0);
       }
+  do_cleanups (ALL_CLEANUPS);
+
+  for (i = 0; i < ncmd; i++)
+    {
+      if (!setjmp (to_top_level))
+       {
+         if (cmdarg[i][0] == '-' && cmdarg[i][1] == '\0')
+           read_command_file (stdin);
+         else
+           source_command (cmdarg[i], !batch);
+         do_cleanups (ALL_CLEANUPS);
+       }
+    }
   free ((PTR)cmdarg);
 
   /* Read in the old history after all the command files have been read. */
@@ -828,6 +862,34 @@ GDB manual (available as on-line info or a printed manual).\n", stderr);
   /* No exit -- exit is through quit_command.  */
 }
 
+void
+execute_user_command (c, args)
+     struct cmd_list_element *c;
+     char *args;
+{
+  register struct command_line *cmdlines;
+  struct cleanup *old_chain;
+  
+  if (args)
+    error ("User-defined commands cannot take arguments.");
+
+  cmdlines = c->user_commands;
+  if (cmdlines == 0)
+    /* Null command */
+    return;
+
+  /* Set the instream to 0, indicating execution of a
+     user-defined function.  */
+  old_chain = make_cleanup (source_cleanup, instream);
+  instream = (FILE *) 0;
+  while (cmdlines)
+    {
+      execute_command (cmdlines->line, 0);
+      cmdlines = cmdlines->next;
+    }
+  do_cleanups (old_chain);
+}
+
 /* Execute the line P as a command.
    Pass FROM_TTY as second argument to the defining function.  */
 
@@ -837,9 +899,7 @@ execute_command (p, from_tty)
      int from_tty;
 {
   register struct cmd_list_element *c;
-  register struct command_line *cmdlines;
   register enum language flang;
-  static const struct language_defn *saved_language = 0;
   static int warned = 0;
 
   free_all_values ();
@@ -856,28 +916,13 @@ execute_command (p, from_tty)
       c = lookup_cmd (&p, cmdlist, "", 0, 1);
       /* Pass null arg rather than an empty one.  */
       arg = *p ? p : 0;
+
+      /* If this command has been hooked, run the hook first. */
+      if (c->hook)
+       execute_user_command (c->hook, (char *)0);
+
       if (c->class == class_user)
-       {
-         struct cleanup *old_chain;
-         
-         if (*p)
-           error ("User-defined commands cannot take arguments.");
-         cmdlines = c->user_commands;
-         if (cmdlines == 0)
-           /* Null command */
-           return;
-
-         /* Set the instream to 0, indicating execution of a
-            user-defined function.  */
-         old_chain =  make_cleanup (source_cleanup, instream);
-         instream = (FILE *) 0;
-         while (cmdlines)
-           {
-             execute_command (cmdlines->line, 0);
-             cmdlines = cmdlines->next;
-           }
-         do_cleanups (old_chain);
-       }
+       execute_user_command (c, arg);
       else if (c->type == set_cmd || c->type == show_cmd)
        do_setshow_command (arg, from_tty & caution, c);
       else if (c->function.cfunc == NO_FUNCTION)
@@ -887,13 +932,11 @@ execute_command (p, from_tty)
    }
 
   /* Tell the user if the language has changed (except first time).  */
-  if (current_language != saved_language)
+  if (current_language != expected_language)
   {
     if (language_mode == language_mode_auto) {
-      if (saved_language)
-       language_info (1);      /* Print what changed.  */
+      language_info (1);       /* Print what changed.  */
     }
-    saved_language = current_language;
     warned = 0;
   }
 
@@ -981,7 +1024,10 @@ gdb_readline (prrompt)
 
   if (prrompt)
     {
-      printf (prrompt);
+      /* Don't use a _filtered function here.  It causes the assumed
+        character position to be off, since the newline we read from
+        the user is not accounted for.  */
+      fputs (prrompt, stdout);
       fflush (stdout);
     }
   
@@ -1025,7 +1071,16 @@ static char *history_filename;
 
 /* Variables which are necessary for fancy command line editing.  */
 char *gdb_completer_word_break_characters =
-  " \t\n!@#$%^&*()-+=|~`}{[]\"';:?/>.<,";
+  " \t\n!@#$%^&*()+=|~`}{[]\"';:?/>.<,-";
+
+/* When completing on command names, we remove '-' from the list of
+   word break characters, since we use it in command names.  If the
+   readline library sees one in any of the current completion strings,
+   it thinks that the string needs to be quoted and automatically supplies
+   a leading quote. */
+char *gdb_completer_command_word_break_characters =
+  " \t\n!@#$%^&*()+=|~`}{[]\"';:?/>.<,";
+
 /* Characters that can be used to quote completion strings.  Note that we
    can't include '"' because the gdb C parser treats such quoted sequences
    as strings. */
@@ -1089,6 +1144,16 @@ symbol_completion_function (text, matches)
       list = 0;
       index = 0;
 
+      /* Choose the default set of word break characters to break completions.
+        If we later find out that we are doing completions on command strings
+        (as opposed to strings supplied by the individual command completer
+        functions, which can be any string) then we will switch to the
+        special word break set for command strings, which leaves out the
+        '-' character used in some commands. */
+
+      rl_completer_word_break_characters =
+         gdb_completer_word_break_characters;
+
       /* Decide whether to complete on a list of gdb commands or on symbols. */
       tmp_command = (char *) alloca (rl_point + 1);
       p = tmp_command;
@@ -1123,26 +1188,17 @@ symbol_completion_function (text, matches)
        {
          /* If we didn't recognize everything up to the thing that
             needs completing, and we don't know what command it is
-            yet, we are in trouble.  Part of the trouble might be
-            that the list of delimiters used by readline includes
-            '-', which we use in commands.  Check for this.  */
+            yet, we are in trouble. */
 
          if (p + strlen(text) != tmp_command + rl_point)
            {
-             if (tmp_command[rl_point - strlen(text) - 1] == '-')
-               {
-                 text = p;
-               }
-             else
-               {
-                 /* This really should not produce an error.  Better would
-                    be to pretend to hit RETURN here; this would produce a
-                    response like "Ambiguous command: foo, foobar, etc",
-                    and leave the line available for re-entry with ^P.
-                    Instead, this error blows away the user's typed input
-                    without any way to get it back.  */
-                 error ("  Unrecognized command.");
-               }
+             /* This really should not produce an error.  Better would
+                be to pretend to hit RETURN here; this would produce a
+                response like "Ambiguous command: foo, foobar, etc",
+                and leave the line available for re-entry with ^P.
+                Instead, this error blows away the user's typed input
+                without any way to get it back.  */
+             error ("  Unrecognized command.");
            }
          
          /* He's typed something ambiguous.  This is easier.  */
@@ -1154,6 +1210,8 @@ symbol_completion_function (text, matches)
            {
              list = complete_on_cmdlist (cmdlist, text);
            }
+         rl_completer_word_break_characters =
+             gdb_completer_command_word_break_characters;
        }
       else
        {
@@ -1170,12 +1228,16 @@ symbol_completion_function (text, matches)
            {
              /* Always (might be longer versions of thie command).  */
              list = complete_on_cmdlist (result_list, text);
+             rl_completer_word_break_characters =
+                 gdb_completer_command_word_break_characters;
            }
          else if (!*p && !*text)
            {
              if (c->prefixlist)
                {
                  list = complete_on_cmdlist (*c->prefixlist, "");
+                 rl_completer_word_break_characters =
+                     gdb_completer_command_word_break_characters;
                }
              else
                {
@@ -1393,7 +1455,7 @@ command_line_input (prrompt, repeat)
   }
 
 #ifdef STOP_SIGNAL
-  signal (SIGTSTP, SIG_DFL);
+  signal (STOP_SIGNAL, SIG_DFL);
 #endif
   immediate_quit--;
 
@@ -1697,14 +1759,16 @@ define_command (comname, from_tty)
      int from_tty;
 {
   register struct command_line *cmds;
-  register struct cmd_list_element *c, *newc;
+  register struct cmd_list_element *c, *newc, *hookc = 0;
   char *tem = comname;
+#define        HOOK_STRING     "hook-"
+#define        HOOK_LEN 5
 
   validate_comname (comname);
 
   /* Look it up, and verify that we got an exact match.  */
   c = lookup_cmd (&tem, cmdlist, "", -1, 1);
-  if (c && 0 != strcmp (comname, c->name))
+  if (c && !STREQ (comname, c->name))
     c = 0;
     
   if (c)
@@ -1717,9 +1781,29 @@ define_command (comname, from_tty)
        error ("Command \"%s\" not redefined.", c->name);
     }
 
+  /* If this new command is a hook, then mark the command which it
+     is hooking.  Note that we allow hooking `help' commands, so that
+     we can hook the `stop' pseudo-command.  */
+
+  if (!strncmp (comname, HOOK_STRING, HOOK_LEN))
+    {
+      /* Look up cmd it hooks, and verify that we got an exact match.  */
+      tem = comname+HOOK_LEN;
+      hookc = lookup_cmd (&tem, cmdlist, "", -1, 0);
+      if (hookc && !STREQ (comname+HOOK_LEN, hookc->name))
+       hookc = 0;
+      if (!hookc)
+       {
+         warning ("Your new `%s' command does not hook any existing command.",
+                  comname);
+         if (!query ("Proceed? ", (char *)0))
+           error ("Not confirmed.");
+       }
+    }
+
   comname = savestring (comname, strlen (comname));
 
-  /* If the rest of the commands will be case insensetive, this one 
+  /* If the rest of the commands will be case insensitive, this one 
      should behave in the same manner. */
   for (tem = comname; *tem; tem++)
     if (isupper(*tem)) *tem = tolower(*tem);
@@ -1740,6 +1824,14 @@ End with a line saying just \"end\".\n", comname);
           (c && c->class == class_user)
           ? c->doc : savestring ("User-defined.", 13), &cmdlist);
   newc->user_commands = cmds;
+
+  /* If this new command is a hook, then mark both commands as being
+     tied.  */
+  if (hookc)
+    {
+      hookc->hook = newc;      /* Target gets hooked.  */
+      newc->hookee = hookc;    /* We are marked as hooking target cmd.  */
+    }
 }
 
 static void
@@ -1798,10 +1890,11 @@ There is absolutely no warranty for GDB; type \"show warranty\" for details.\n\
 }
 
 static void
-print_gdb_version ()
+print_gdb_version (stream)
+  FILE *stream;
 {
-  printf_filtered ("\
-GDB %s, Copyright 1992 Free Software Foundation, Inc.",
+  fprintf_filtered (stream, "\
+GDB %s, Copyright 1993 Free Software Foundation, Inc.",
          version);
 }
 
@@ -1813,7 +1906,7 @@ show_version (args, from_tty)
 {
   immediate_quit++;
   print_gnu_advertisement ();
-  print_gdb_version ();
+  print_gdb_version (stdout);
   printf_filtered ("\n");
   immediate_quit--;
 }
@@ -1834,12 +1927,20 @@ quit_command (args, from_tty)
 {
   if (inferior_pid != 0 && target_has_execution)
     {
-      if (query ("The program is running.  Quit anyway? "))
+      if (attach_flag)
        {
-         target_kill ();
+         if (query ("The program is running.  Quit anyway (and detach it)? "))
+           target_detach (args, from_tty);
+         else
+           error ("Not confirmed.");
        }
       else
-       error ("Not confirmed.");
+       {
+         if (query ("The program is running.  Quit anyway (and kill it)? "))
+           target_kill ();
+         else
+           error ("Not confirmed.");
+       }
     }
   /* Save the history information if it is appropriate to do so.  */
   if (write_history_p && history_filename)
@@ -1865,7 +1966,7 @@ pwd_command (args, from_tty)
   if (args) error ("The \"pwd\" command does not take an argument: %s", args);
   getcwd (dirbuf, sizeof (dirbuf));
 
-  if (strcmp (dirbuf, current_directory))
+  if (!STREQ (dirbuf, current_directory))
     printf ("Working directory %s\n (canonically %s).\n",
            current_directory, dirbuf);
   else
@@ -1948,14 +2049,15 @@ source_command (args, from_tty)
   struct cleanup *cleanups;
   char *file = args;
 
-  if (file == 0)
-    /* Let source without arguments read .gdbinit.  */
-    file = gdbinit;
+  if (file == NULL)
+    {
+      error ("source command requires pathname of file to source.");
+    }
 
   file = tilde_expand (file);
   make_cleanup (free, file);
 
-  stream = fopen (file, "r");
+  stream = fopen (file, FOPEN_RT);
   if (stream == 0)
     perror_with_name (file);
 
@@ -1976,7 +2078,7 @@ echo_command (text, from_tty)
   register int c;
 
   if (text)
-    while (c = *p++)
+    while ((c = *p++) != '\0')
       {
        if (c == '\\')
          {
@@ -1998,18 +2100,6 @@ echo_command (text, from_tty)
   fflush (stdout);
 }
 
-/* ARGSUSED */
-static void
-dump_me_command (args, from_tty)
-     char *args;
-     int from_tty;
-{
-  if (query ("Should GDB dump core? "))
-    {
-      signal (SIGQUIT, SIG_DFL);
-      kill (getpid (), SIGQUIT);
-    }
-}
 \f
 /* Functions to manipulate command line editing control variables.  */
 
@@ -2101,13 +2191,13 @@ set_history_size_command (args, from_tty, c)
      int from_tty;
      struct cmd_list_element *c;
 {
-  if (history_size == UINT_MAX)
+  if (history_size == INT_MAX)
     unstifle_history ();
   else if (history_size >= 0)
     stifle_history (history_size);
   else
     {
-      history_size = UINT_MAX;
+      history_size = INT_MAX;
       error ("History size must be non-negative");
     }
 }
@@ -2164,6 +2254,7 @@ int signo;
 {
   /* This message is based on ANSI C, section 4.7.  Note that integer
      divide by zero causes this, so "float" is a misnomer.  */
+  signal (SIGFPE, float_handler);
   error ("Erroneous arithmetic operation.");
 }
 
@@ -2178,17 +2269,27 @@ batch_mode ()
 static void
 initialize_cmd_lists ()
 {
-  cmdlist = (struct cmd_list_element *) 0;
-  infolist = (struct cmd_list_element *) 0;
-  enablelist = (struct cmd_list_element *) 0;
-  disablelist = (struct cmd_list_element *) 0;
-  deletelist = (struct cmd_list_element *) 0;
-  enablebreaklist = (struct cmd_list_element *) 0;
-  setlist = (struct cmd_list_element *) 0;
+  cmdlist = NULL;
+  infolist = NULL;
+  enablelist = NULL;
+  disablelist = NULL;
+  deletelist = NULL;
+  enablebreaklist = NULL;
+  setlist = NULL;
+  unsetlist = NULL;
   showlist = NULL;
-  sethistlist = (struct cmd_list_element *) 0;
+  sethistlist = NULL;
   showhistlist = NULL;
-  unsethistlist = (struct cmd_list_element *) 0;
+  unsethistlist = NULL;
+#if MAINTENANCE_CMDS
+  maintenancelist = NULL;
+  maintenanceinfolist = NULL;
+  maintenanceprintlist = NULL;
+#endif
+  setprintlist = NULL;
+  showprintlist = NULL;
+  setchecklist = NULL;
+  showchecklist = NULL;
 }
 
 /* Init the history buffer.  Note that we are called after the init file(s)
@@ -2247,6 +2348,12 @@ initialize_main ()
   /* Define the classes of commands.
      They will appear in the help list in the reverse of this order.  */
 
+  add_cmd ("internals", class_maintenance, NO_FUNCTION,
+          "Maintenance commands.\n\
+Some gdb commands are provided just for use by gdb maintainers.\n\
+These commands are subject to frequent change, and may not be as\n\
+well documented as user commands.",
+          &cmdlist);
   add_cmd ("obscure", class_obscure, NO_FUNCTION, "Obscure features.", &cmdlist);
   add_cmd ("aliases", class_alias, NO_FUNCTION, "Aliases of other commands.", &cmdlist);
   add_cmd ("user-defined", class_user, NO_FUNCTION, "User-defined commands.\n\
@@ -2325,9 +2432,6 @@ when gdb is started.");
   c->function.sfunc = set_verbose;
   set_verbose (NULL, 0, c);
   
-  add_com ("dump-me", class_obscure, dump_me_command,
-          "Get fatal error; make debugger dump its core.");
-
   add_show_from_set
     (add_set_cmd ("editing", class_support, var_boolean, (char *)&command_editing_p,
           "Set editing of command lines as they are typed.\n\
@@ -2356,7 +2460,7 @@ Use \"on\" to enable to enable the saving, and \"off\" to disable it.\n\
 Without an argument, saving is enabled.", &sethistlist),
      &showhistlist);
 
-  c = add_set_cmd ("size", no_class, var_uinteger, (char *)&history_size,
+  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);
   add_show_from_set (c, &showhistlist);
This page took 0.03162 seconds and 4 git commands to generate.