diff --git a/gdb/ChangeLog-gdbtk b/gdb/ChangeLog-gdbtk index 9bfc14942fa..d3de7207abc 100644 --- a/gdb/ChangeLog-gdbtk +++ b/gdb/ChangeLog-gdbtk @@ -1,3 +1,12 @@ +1999-01-29 James Ingham + + * gdbtk.c (gdbtk_init): Set the fputs_unfiltered_hook to + gdbtk_fputs BEFORE you eval script. The old code was setting it + to null until after you did this, but that is wrong, because it + will cause the output of CAUGHT errors to go to gdb_stderr, which + is wrong. You only want to write errors to the console if the + eval generates an error. + 1999-01-29 Martin Hunt * gdbtk-cmds.c (gdb_get_breakpoint_info): When printing addresses, diff --git a/gdb/gdbtk.c b/gdb/gdbtk.c index 61075fbf72c..3e96505798f 100644 --- a/gdb/gdbtk.c +++ b/gdb/gdbtk.c @@ -558,7 +558,7 @@ proc gdbtk_find_main {} {\n\ gdbtk_find_main"; #endif /* NO_TCLPRO_DEBUGGER */ - fputs_unfiltered_hook = NULL; /* Force errors to stdout/stderr */ + /* fputs_unfiltered_hook = NULL; */ /* Force errors to stdout/stderr */ /* * Set the variables for external editor, do this before eval'ing main.tcl @@ -570,7 +570,9 @@ gdbtk_find_main"; Tcl_SetVar (gdbtk_interp, "external_editor_command", external_editor_command, 0); - if (Tcl_GlobalEval (gdbtk_interp, (char *) script) != TCL_OK) + fputs_unfiltered_hook = gdbtk_fputs; + + if (Tcl_GlobalEval (gdbtk_interp, (char *) script) != TCL_OK) { char *msg; @@ -592,10 +594,6 @@ gdbtk_find_main"; } } -/* 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; /* start-sanitize-ide */ #ifdef IDE