diff options
| author | Gerd Moellmann | 2001-03-15 16:31:51 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2001-03-15 16:31:51 +0000 |
| commit | d0bbfc999a2c2375d2f56ea28b38efcd5ce33c27 (patch) | |
| tree | c15f37fb3f5c863f95333bbcc2cbde8c42102f34 /src/keyboard.c | |
| parent | 03d1a1896654b1014db6e7da740b660cb6d81cc0 (diff) | |
| download | emacs-d0bbfc999a2c2375d2f56ea28b38efcd5ce33c27.tar.gz emacs-d0bbfc999a2c2375d2f56ea28b38efcd5ce33c27.zip | |
(timer_check): Preserve the value of deactivate-mark.
(command_loop_1): Undo last change.
Diffstat (limited to 'src/keyboard.c')
| -rw-r--r-- | src/keyboard.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 02d923f33d3..3b774ea2753 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -1479,10 +1479,6 @@ command_loop_1 () | |||
| 1479 | this variable differently. */ | 1479 | this variable differently. */ |
| 1480 | Vdisable_point_adjustment = Qnil; | 1480 | Vdisable_point_adjustment = Qnil; |
| 1481 | 1481 | ||
| 1482 | /* Process filters and timers may have messed with deactivate-mark. | ||
| 1483 | reset it before we execute the command. */ | ||
| 1484 | Vdeactivate_mark = Qnil; | ||
| 1485 | |||
| 1486 | /* Execute the command. */ | 1482 | /* Execute the command. */ |
| 1487 | 1483 | ||
| 1488 | Vthis_command = cmd; | 1484 | Vthis_command = cmd; |
| @@ -4021,17 +4017,18 @@ timer_check (do_it_now) | |||
| 4021 | if (NILP (vector[0])) | 4017 | if (NILP (vector[0])) |
| 4022 | { | 4018 | { |
| 4023 | int was_locked = single_kboard; | 4019 | int was_locked = single_kboard; |
| 4024 | int count = specpdl_ptr - specpdl; | 4020 | int count = BINDING_STACK_SIZE (); |
| 4021 | Lisp_Object old_deactivate_mark = Vdeactivate_mark; | ||
| 4025 | 4022 | ||
| 4026 | /* Mark the timer as triggered to prevent problems if the lisp | 4023 | /* Mark the timer as triggered to prevent problems if the lisp |
| 4027 | code fails to reschedule it right. */ | 4024 | code fails to reschedule it right. */ |
| 4028 | vector[0] = Qt; | 4025 | vector[0] = Qt; |
| 4029 | 4026 | ||
| 4030 | specbind (Qinhibit_quit, Qt); | 4027 | specbind (Qinhibit_quit, Qt); |
| 4031 | 4028 | ||
| 4032 | call1 (Qtimer_event_handler, chosen_timer); | 4029 | call1 (Qtimer_event_handler, chosen_timer); |
| 4030 | Vdeactivate_mark = old_deactivate_mark; | ||
| 4033 | timers_run++; | 4031 | timers_run++; |
| 4034 | |||
| 4035 | unbind_to (count, Qnil); | 4032 | unbind_to (count, Qnil); |
| 4036 | 4033 | ||
| 4037 | /* Resume allowing input from any kboard, if that was true before. */ | 4034 | /* Resume allowing input from any kboard, if that was true before. */ |