aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/gdbtk.c14
2 files changed, 17 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2674910..d7c97ec 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 <rob@darkstar.cygnus.com>
* array-rom.c: Add support for most commands.
diff --git a/gdb/gdbtk.c b/gdb/gdbtk.c
index c97d244..ff9397f 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);
}