diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/language.c | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 04f4e52..70830d5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +Fri Sep 20 16:10:52 1991 John Gilmore (gnu at cygnus.com) + + * main.c (main): Avoid any output before (gdb) prompt when -q. + * language.c (set_language_command): Handle errors by restoring + the language string to its current state (fix from A. Beers). + Fri Sep 20 15:46:00 1991 Roland H. Pesch (pesch at cygnus.com) * doc/Makefile: generate aux version-no file doc/gdbVN.m4 diff --git a/gdb/language.c b/gdb/language.c index bcb00c7..296a6d5 100644 --- a/gdb/language.c +++ b/gdb/language.c @@ -115,6 +115,7 @@ set_language_command (str, from_tty) { int i; enum language flang; + char *err_lang; /* FIXME -- do this from the list, with HELP. */ if (!language || !language[0]) { @@ -147,7 +148,12 @@ mod or m2 Always parse in Modula-2 syntax\n"); } } - error ("Unknown language `%s'.",language); + /* Reset the language (esp. the global string "language") to the + correct values. */ + err_lang=savestring(language,strlen(language)); + make_cleanup (free, err_lang); /* Free it after error */ + set_language(current_language->la_language); + error ("Unknown language `%s'.",err_lang); } /* Show command. Display a warning if the type setting does @@ -1094,7 +1100,7 @@ _initialize_language() /* Have the above take effect */ - set_language_command (NULL, 0); + set_language_command (language, 0); set_type_command (NULL, 0); set_range_command (NULL, 0); } |