diff options
author | Richard M. Stallman <rms@gnu.org> | 1998-01-27 01:45:58 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1998-01-27 01:45:58 +0000 |
commit | 7a127c29091ee5fdc15e43c7e1f6b21e29c77679 (patch) | |
tree | 8dd418cf92b941ecdc4ea26b082231637f3667be | |
parent | c256f6fe73ece9dce9a424e206b3e5752129daeb (diff) | |
download | emacs-7a127c29091ee5fdc15e43c7e1f6b21e29c77679.tar.gz |
(command_loop_1): Run post-command-hook before,
not after, clearing this-command-keys and updating last-command.
-rw-r--r-- | src/keyboard.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index e297162cac2..83134989fa8 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -1432,6 +1432,22 @@ command_loop_1 () } directly_done: ; + /* Note that the value cell will never directly contain nil + if the symbol is a local variable. */ + if (!NILP (Vpost_command_hook) && !NILP (Vrun_hooks)) + safe_run_hooks (Qpost_command_hook); + + if (!NILP (Vdeferred_action_list)) + safe_run_hooks (Qdeferred_action_function); + + if (!NILP (Vpost_command_idle_hook) && !NILP (Vrun_hooks)) + { + if (NILP (Vunread_command_events) + && NILP (Vexecuting_macro) + && !NILP (sit_for (0, post_command_idle_delay, 0, 1, 1))) + safe_run_hooks (Qpost_command_idle_hook); + } + /* If there is a prefix argument, 1) We don't want Vlast_command to be ``universal-argument'' (that would be dumb), so don't set Vlast_command, @@ -1453,22 +1469,6 @@ command_loop_1 () this_single_command_key_start = 0; } - /* Note that the value cell will never directly contain nil - if the symbol is a local variable. */ - if (!NILP (Vpost_command_hook) && !NILP (Vrun_hooks)) - safe_run_hooks (Qpost_command_hook); - - if (!NILP (Vdeferred_action_list)) - safe_run_hooks (Qdeferred_action_function); - - if (!NILP (Vpost_command_idle_hook) && !NILP (Vrun_hooks)) - { - if (NILP (Vunread_command_events) - && NILP (Vexecuting_macro) - && !NILP (sit_for (0, post_command_idle_delay, 0, 1, 1))) - safe_run_hooks (Qpost_command_idle_hook); - } - if (!NILP (current_buffer->mark_active) && !NILP (Vrun_hooks)) { if (!NILP (Vdeactivate_mark) && !NILP (Vtransient_mark_mode)) |