diff options
| author | Stefan Monnier | 2013-04-10 09:31:35 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2013-04-10 09:31:35 -0400 |
| commit | 78ce603d02dd6f2492fb0178bb148d3d76e4312b (patch) | |
| tree | be868207d62596b1c5f99690de725a31645cd6a9 /src | |
| parent | 15e54145b44fc4e0e69207d1dc2bfa12f4ed0eb4 (diff) | |
| download | emacs-78ce603d02dd6f2492fb0178bb148d3d76e4312b.tar.gz emacs-78ce603d02dd6f2492fb0178bb148d3d76e4312b.zip | |
* src/keyboard.c (timer_start_idle): Call internal-timer-start-idle instead
of marking the idle timers directly.
* lisp/emacs-lisp/timer.el (timer--check): New function.
(timer--time, timer-set-function, timer-event-handler): Use it.
(timer-set-idle-time): Simplify.
(timer--activate): CSE.
(timer-event-handler): Give more info in error message.
(internal-timer-start-idle): New function, moved from C.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/keyboard.c | 11 |
2 files changed, 6 insertions, 10 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 402792b5460..6fdf601fa95 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2013-04-10 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * keyboard.c (timer_start_idle): Call internal-timer-start-idle instead | ||
| 4 | of marking the idle timers directly. | ||
| 5 | |||
| 1 | 2013-04-09 Stefan Monnier <monnier@iro.umontreal.ca> | 6 | 2013-04-09 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 7 | ||
| 3 | * minibuf.c (Ftest_completion): Ignore non-string/symbol keys in hash | 8 | * minibuf.c (Ftest_completion): Ignore non-string/symbol keys in hash |
diff --git a/src/keyboard.c b/src/keyboard.c index b4fafa22e41..12407bd536c 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -4198,16 +4198,7 @@ timer_start_idle (void) | |||
| 4198 | timer_last_idleness_start_time = timer_idleness_start_time; | 4198 | timer_last_idleness_start_time = timer_idleness_start_time; |
| 4199 | 4199 | ||
| 4200 | /* Mark all idle-time timers as once again candidates for running. */ | 4200 | /* Mark all idle-time timers as once again candidates for running. */ |
| 4201 | for (timers = Vtimer_idle_list; CONSP (timers); timers = XCDR (timers)) | 4201 | call0 (intern ("internal-timer-start-idle")); |
| 4202 | { | ||
| 4203 | Lisp_Object timer; | ||
| 4204 | |||
| 4205 | timer = XCAR (timers); | ||
| 4206 | |||
| 4207 | if (!VECTORP (timer) || ASIZE (timer) != 9) | ||
| 4208 | continue; | ||
| 4209 | ASET (timer, 0, Qnil); | ||
| 4210 | } | ||
| 4211 | } | 4202 | } |
| 4212 | 4203 | ||
| 4213 | /* Record that Emacs is no longer idle, so stop running idle-time timers. */ | 4204 | /* Record that Emacs is no longer idle, so stop running idle-time timers. */ |