summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1998-01-27 01:45:58 +0000
committerRichard M. Stallman <rms@gnu.org>1998-01-27 01:45:58 +0000
commit7a127c29091ee5fdc15e43c7e1f6b21e29c77679 (patch)
tree8dd418cf92b941ecdc4ea26b082231637f3667be
parentc256f6fe73ece9dce9a424e206b3e5752129daeb (diff)
downloademacs-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.c32
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))