From: Stu Grossman Date: Thu, 12 Jan 1995 01:09:34 +0000 (+0000) Subject: * gdbtk.c (gdbtk_init): Improve handling for errors in gdbtk.tcl X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=724498fdc04f83e5d450268ee11e602814945103;p=binutils-gdb.git * gdbtk.c (gdbtk_init): Improve handling for errors in gdbtk.tcl during startup. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 26749106999..d7c97ecf105 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +Wed Jan 11 17:06:55 1995 Stu Grossman (grossman@cygnus.com) + + * gdbtk.c (gdbtk_init): Improve handling for errors in gdbtk.tcl + during startup. + Wed Jan 11 17:53:26 1995 Rob Savoye * array-rom.c: Add support for most commands. diff --git a/gdb/gdbtk.c b/gdb/gdbtk.c index c97d2444bbb..ff9397fb833 100644 --- a/gdb/gdbtk.c +++ b/gdb/gdbtk.c @@ -1096,7 +1096,6 @@ gdbtk_init () Tcl_CreateCommand (interp, "gdb_eval", call_wrapper, gdb_eval, NULL); command_loop_hook = Tk_MainLoop; - fputs_unfiltered_hook = gdbtk_fputs; print_frame_info_listing_hook = null_routine; query_hook = gdbtk_query; flush_hook = gdbtk_flush; @@ -1154,8 +1153,19 @@ gdbtk_init () else gdbtk_filename = GDBTK_FILENAME; +/* Defer setup of fputs_unfiltered_hook to near the end so that error messages + prior to this point go to stdout/stderr. */ + + fputs_unfiltered_hook = gdbtk_fputs; + if (Tcl_EvalFile (interp, gdbtk_filename) != TCL_OK) - error ("Failure reading %s: %s", gdbtk_filename, interp->result); + { + fputs_unfiltered_hook = NULL; /* Force errors to stdout/stderr */ + + fprintf_unfiltered (stderr, "%s:%d: %s\n", gdbtk_filename, + interp->errorLine, interp->result); + error ("Stack trace:\n%s", Tcl_GetVar (interp, "errorInfo", 0)); + } discard_cleanups (old_chain); }