Subject: Re: bug#17349: 24.3.50; display-battery-mode stops updating after closing and reopening lid

From: Nicolas Richard <[email-masked]>
Date: Fri, 02 May 2014 13:05:20 +0200

Peter Münster <[email-masked]> writes:
> I can reproduce the problem now:

Thanks for the test case. I'll admit I am a little puzzled by all of
this.

Consider this alternative test case:

(setq watchtimer (run-at-time nil 5 (lambda () (message "Sitting...") (sleep-for 2) (message "Sat"))))

(defun warnme ()
  (when (timer--triggered watchtimer)
    (message "timer has trigger flag to t.")
    (remove-hook 'post-command-hook 'warnme)))
(add-hook 'post-command-hook 'warnme)

Then you can see that loading this file and hitting C-g C-g C-g will
say: "timer has trigger flag to t."

I have these questions :

1. Is this the problem that I have been seeing with
display-battery-mode? I don't recall hammering C-g when I noticed my
problem.

1bis. Is this the problem that you have been seeing too ?

2. Why does it take three C-g to get out of the sleep-for that is called
from within the timer ? (e.g. I can do M-: (sleep-for 2) RET C-g and I
get immediate control)

3. Why aren't these C-g caught by the condition-case in
timer-event-handler ? Or alternatively:

3bis. Why are these three "C-g" special ? It is not mentionned in (info "(emacs)
Quitting") AFAICT.

-- 
Nico.