* command.h: (execute_cmd_post_hook): Declare.

(execute_cmd_pre_hook): Declare.
* cli/cli-script.c (clear_hook_in_cleanup): New function.
(execute_cmd_post_hook, execute_cmd_pre_hook): New
functions. Execute pre/post hook while ensuring that afterwords
hook_in is cleared.
* top.c (execute_command): Use execute_cmd_post_hook, and
execute_cmd_pre_hook to execute pre/post commands.
* infrun.c (normal_stop): Pass stop_command and not pre_hook to
hook_stop_stub.
(hook_stop_stub): Call execute_cmd_pre_hook.
This commit is contained in:
Andrew Cagney
2002-03-17 19:53:39 +00:00
parent b51450c9ff
commit 5913bcb0f6
5 changed files with 61 additions and 20 deletions

View File

@ -693,12 +693,7 @@ execute_command (char *p, int from_tty)
}
/* If this command has been pre-hooked, run the hook first. */
if ((c->hook_pre) && (!c->hook_in))
{
c->hook_in = 1; /* Prevent recursive hooking */
execute_user_command (c->hook_pre, (char *) 0);
c->hook_in = 0; /* Allow hook to work again once it is complete */
}
execute_cmd_pre_hook (c);
if (c->flags & DEPRECATED_WARN_USER)
deprecated_cmd_warning (&line);
@ -715,12 +710,7 @@ execute_command (char *p, int from_tty)
(*c->func) (c, arg, from_tty & caution);
/* If this command has been post-hooked, run the hook last. */
if ((c->hook_post) && (!c->hook_in))
{
c->hook_in = 1; /* Prevent recursive hooking */
execute_user_command (c->hook_post, (char *) 0);
c->hook_in = 0; /* allow hook to work again once it is complete */
}
execute_cmd_post_hook (c);
}