Mercurial > emacs
changeset 38195:7255d1f70b82
(read_char) <non_reread>: Record the previous idle
start time before calling timer_stop_idle.
(read_char) <reread_first>: After processing a help-echo event,
restore the previous idle start time.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Tue, 26 Jun 2001 12:30:59 +0000 |
parents | a23820c19d03 |
children | 0bb88f58bf68 |
files | src/keyboard.c |
diffstat | 1 files changed, 11 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/keyboard.c Tue Jun 26 11:52:27 2001 +0000 +++ b/src/keyboard.c Tue Jun 26 12:30:59 2001 +0000 @@ -644,6 +644,10 @@ Lisp_Object Vglobal_disable_point_adjustment; +/* The time when Emacs started being idle. */ + +static EMACS_TIME timer_idleness_start_time; + /* Global variable declarations. */ @@ -2095,6 +2099,7 @@ volatile Lisp_Object also_record; volatile int reread; struct gcpro gcpro1, gcpro2; + EMACS_TIME last_idle_start; also_record = Qnil; @@ -2588,6 +2593,9 @@ non_reread: + /* Record the last idle start time so that we can reset it + should the next event read be a help-echo. */ + last_idle_start = timer_idleness_start_time; timer_stop_idle (); start_polling (); @@ -2804,6 +2812,9 @@ object = Fnth (make_number (4), c); position = Fnth (make_number (5), c); show_help_echo (help, window, object, position, 0); + + /* We stopped being idle for this event; undo that. */ + timer_idleness_start_time = last_idle_start; goto retry; } @@ -3824,8 +3835,6 @@ redisplay_preserve_echo_area (7); } -static EMACS_TIME timer_idleness_start_time; - /* Record the start of when Emacs is idle, for the sake of running idle-time timers. */