aboutsummaryrefslogtreecommitdiff
path: root/gdb/top.c
diff options
context:
space:
mode:
authorStu Grossman <grossman@cygnus>1994-12-16 01:07:35 +0000
committerStu Grossman <grossman@cygnus>1994-12-16 01:07:35 +0000
commit86db943cebfc5a45476d6926bbeccbda4e69a568 (patch)
tree2f696b0f9359243ae6ff71636879ae26e5d55cbc /gdb/top.c
parent243babd42406749d7299822be3fb63a9ccc4fcd3 (diff)
downloadgdb-86db943cebfc5a45476d6926bbeccbda4e69a568.zip
gdb-86db943cebfc5a45476d6926bbeccbda4e69a568.tar.gz
gdb-86db943cebfc5a45476d6926bbeccbda4e69a568.tar.bz2
* defs.h, gdbtk.c (gdbtk_fputs), main.c (gdb_fputs), top.c: Add stream arg
to fputs_unfiltered_hook. Differentiate stdout from stderr when passing text into tcl land. * defs.h, top.c, utils.c (error): Add error_hook. * gdbtk.c: Improve mechanism for capturing output values. * (full_filename): Remove. * (gdb_cmd call_wrapper gdbtk_init): Protect all calls from tcl land with call_wrapper. This prevents longjmps (usually via error()) from jumping out of tcl/tk and leaving things in an indeterminate state. * gdbtk.tcl: New view option to disable line numbers. Put catch around most uses of gdb_cmd. Add update button to reg config window. Stop doing immediate updates when selecting registers. Change register view values into checkbuttons.
Diffstat (limited to 'gdb/top.c')
-rw-r--r--gdb/top.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gdb/top.c b/gdb/top.c
index 17e85c0..8109f51 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -354,7 +354,7 @@ void (*command_loop_hook) PARAMS ((void));
/* Called instead of fputs for all output. */
-void (*fputs_unfiltered_hook) PARAMS ((const char *linebuffer));
+void (*fputs_unfiltered_hook) PARAMS ((const char *linebuffer, FILE *stream));
/* Called from print_frame_info to list the line we stopped in. */
@@ -391,6 +391,12 @@ int (*target_wait_hook) PARAMS ((int pid, struct target_waitstatus *status));
void (*call_command_hook) PARAMS ((struct cmd_list_element *c, char *cmd,
int from_tty));
+
+/* Takes control from error (). Typically used to prevent longjmps out of the
+ middle of the GUI. Usually used in conjunction with a catch routine. */
+
+NORETURN void (*error_hook) PARAMS (());
+
/* Where to go for return_to_top_level (RETURN_ERROR). */
jmp_buf error_return;