From 5f3d478e7debb774f55c82dd60e65af242863f83 Mon Sep 17 00:00:00 2001 From: John Gilmore Date: Fri, 20 Sep 1991 23:17:32 +0000 Subject: * 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). --- gdb/language.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'gdb/language.c') 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); } -- cgit v1.1