# HG changeset patch # User Gerd Moellmann # Date 984673881 0 # Node ID 4eacbecdf0d89c430d3b5185c9d29b587e48f12a # Parent 63b1945845af760e920bd30bce65a98c5bda96f7 (timer_check): Preserve the value of deactivate-mark. (command_loop_1): Undo last change. diff -r 63b1945845af -r 4eacbecdf0d8 src/keyboard.c --- a/src/keyboard.c Thu Mar 15 16:29:17 2001 +0000 +++ b/src/keyboard.c Thu Mar 15 16:31:21 2001 +0000 @@ -1479,10 +1479,6 @@ this variable differently. */ Vdisable_point_adjustment = Qnil; - /* Process filters and timers may have messed with deactivate-mark. - reset it before we execute the command. */ - Vdeactivate_mark = Qnil; - /* Execute the command. */ Vthis_command = cmd; @@ -4021,17 +4017,18 @@ if (NILP (vector[0])) { int was_locked = single_kboard; - int count = specpdl_ptr - specpdl; + int count = BINDING_STACK_SIZE (); + Lisp_Object old_deactivate_mark = Vdeactivate_mark; /* Mark the timer as triggered to prevent problems if the lisp code fails to reschedule it right. */ vector[0] = Qt; specbind (Qinhibit_quit, Qt); - + call1 (Qtimer_event_handler, chosen_timer); + Vdeactivate_mark = old_deactivate_mark; timers_run++; - unbind_to (count, Qnil); /* Resume allowing input from any kboard, if that was true before. */