# HG changeset patch # User Richard M. Stallman # Date 863207856 0 # Node ID 95f0456681ccba911ecc6fba1d937ca84066be52 # Parent 857918bf965f136c57ad86ff131713dc4455bbd2 (timer-event-handler): Take timer as arg directly. Don't bind a key in special-event-map. diff -r 857918bf965f -r 95f0456681cc lisp/timer.el --- a/lisp/timer.el Fri May 09 06:31:04 1997 +0000 +++ b/lisp/timer.el Fri May 09 19:57:36 1997 +0000 @@ -237,12 +237,6 @@ (setq timer-idle-list (delq (car tail) timer-idle-list))) (setq tail (cdr tail))))) -;; Set up the common handler for all timer events. Since the event has -;; the timer as parameter we can still distinguish. Note that using -;; special-event-map ensures that event timer events that arrive in the -;; middle of a key sequence being entered are still handled correctly. -(define-key special-event-map [timer-event] 'timer-event-handler) - ;; Record the last few events, for debugging. (defvar timer-event-last-2 nil) (defvar timer-event-last-1 nil) @@ -259,14 +253,13 @@ (low (- (nth 1 time) (aref timer 2)))) (+ low (* high 65536)))) -(defun timer-event-handler (event) - "Call the handler for the timer in the event EVENT." - (interactive "e") +(defun timer-event-handler (timer) + "Call the handler for the timer TIMER. +This function is called, by name, directly by the C code." (setq timer-event-last-2 timer-event-last-1) (setq timer-event-last-1 timer-event-last) - (setq timer-event-last (cons event (copy-sequence event))) - (let ((inhibit-quit t) - (timer (car-safe (cdr-safe event)))) + (setq timer-event-last timer) + (let ((inhibit-quit t)) (if (timerp timer) (progn ;; Delete from queue.