diff options
author | Stu Grossman <grossman@cygnus> | 1994-10-21 00:59:20 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1994-10-21 00:59:20 +0000 |
commit | 479f0f18d4a77e04b32cc7062ee31310b876e16b (patch) | |
tree | 3d0b2d2df5646de9741407942764a2e4981beed6 /gdb/top.c | |
parent | 1b79c34daa80f7cbbc3c16d603d44f482f9296bf (diff) | |
download | gdb-479f0f18d4a77e04b32cc7062ee31310b876e16b.zip gdb-479f0f18d4a77e04b32cc7062ee31310b876e16b.tar.gz gdb-479f0f18d4a77e04b32cc7062ee31310b876e16b.tar.bz2 |
* defs.h, infrun.c (wait_for_inferior), top.c: Call
target_wait_hook to allow GUI to handle blocking for inferior. Call
call_command_hook in execute_command to provide means for wrapping
commands with GUI state change updates.
* gdbtk.c (gdb_cmd): Force GUI into idle mode when errors occur.
* (gdb_stop): New tcl command to stop the target process.
* (x_event, gdbtk_wait): Allow GUI to interrupt gdb out of target
waits.
* (gdbtk_call_command): Wrapper around command processing to
alert GUI of target state changes.
* (gdbtk_init): Get the fd of X server for doing async
notification of X events (via x_event). Setup new hooks.
* gdbtk.tcl: Add scrollbars to assembly and command windows.
* Change window foreground & background colors.
* Create margin tag for breakpoints in source and assembly windows.
* Add new routines to be invoked when target state changes to/from
idle.
* Add start of expression window.
* Change bindings of mouse button 1 in assembly and source window
to just set or clear breakpoints when in the margin tag.
* Change shape of register window to be more vertical to better
reflect it's contents.
* Add stop button.
* Cleanup some code around command window bindings.
* infrun.c (wait_for_inferior): Make sure
through_sigtramp_breakpoint is non-null before deleting.
Diffstat (limited to 'gdb/top.c')
-rw-r--r-- | gdb/top.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -379,6 +379,16 @@ void (*disable_breakpoint_hook) PARAMS ((struct breakpoint *bpt)); void (*interactive_hook) PARAMS ((void)); +/* Called when going to wait for the target. Usually allows the GUI to run + while waiting for target events. */ + +int (*target_wait_hook) PARAMS ((int pid, struct target_waitstatus *status)); + +/* Used by UI as a wrapper around command execution. May do various things + like enabling/disabling buttons, etc... */ + +void (*call_command_hook) PARAMS ((struct cmd_list_element *c, char *cmd, + int from_tty)); /* Where to go for return_to_top_level (RETURN_ERROR). */ jmp_buf error_return; @@ -858,6 +868,8 @@ execute_command (p, from_tty) do_setshow_command (arg, from_tty & caution, c); else if (c->function.cfunc == NO_FUNCTION) error ("That is not a command, just a help topic."); + else if (call_command_hook) + call_command_hook (c, arg, from_tty & caution); else (*c->function.cfunc) (arg, from_tty & caution); } |