* main.c (main): Back out previous language setting changes.
authorFred Fish <fnf@specifix.com>
Sun, 20 Sep 1992 15:45:52 +0000 (15:45 +0000)
committerFred Fish <fnf@specifix.com>
Sun, 20 Sep 1992 15:45:52 +0000 (15:45 +0000)
Replace with simple default to C before processing any init
files.  There MUST be a language set, even in the absence of
init files or executables, or expression parsing fails.

gdb/ChangeLog
gdb/main.c

index 6d13c79..df5e8bf 100644 (file)
@@ -1,3 +1,10 @@
+Sep 20 08:42:12 1992  Fred Fish  (fnf@cygnus.com)
+
+       * main.c (main):  Back out previous language setting changes.
+       Replace with simple default to C before processing any init
+       files.  There MUST be a language set, even in the absence of
+       init files or executables, or expression parsing fails.
+
 Sat Sep 19 09:52:26 1992  Fred Fish  (fnf@cygnus.com)
 
        * main.c (main):  Move code that sets initial language to
index b2643f5..4b68f7f 100644 (file)
@@ -685,6 +685,11 @@ 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);
+
   /* 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
@@ -699,8 +704,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);
        }
@@ -794,9 +797,6 @@ GDB manual (available as on-line info or a printed manual).\n", stderr);
       || memcmp ((char *) &homebuf, (char *) &cwdbuf, sizeof (struct stat)))
     if (!inhibit_gdbinit && access (gdbinit, R_OK) == 0)
       {
-       /* If no language has been set yet, default to C. */
-       if (current_language->la_language == language_unknown)
-         set_language (language_c);
        if (!setjmp (to_top_level))
          source_command (gdbinit, 0);
       }
@@ -804,10 +804,6 @@ GDB manual (available as on-line info or a printed manual).\n", stderr);
 
   for (i = 0; i < ncmd; i++)
     {
-      /* If no language has been set yet, default to C.  For consistency with
-         other places, we redo this each time before sourcing commands. */
-      if (current_language->la_language == language_unknown)
-       set_language (language_c);
       if (!setjmp (to_top_level))
        {
          if (cmdarg[i][0] == '-' && cmdarg[i][1] == '\0')