Subject: bug#54371: closed (Re: bug#54371: 29.0.50; read-char does not reset idle timer in some cases)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 11 Apr 2022 11:18:01 +0000

Your bug report

#54371: 29.0.50; read-char does not reset idle timer in some cases

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
54371: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=54371
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#54371: 29.0.50; read-char does not reset idle timer in some cases
From: Eli Zaretskii <[email-masked]>
To: Ignacio Casso <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Mon, 11 Apr 2022 14:17:19 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Ignacio Casso <[email-masked]>
> Cc: [email-masked], [email-masked]
> Date: Mon, 11 Apr 2022 08:42:50 +0200
> 
> 
> > Thanks, I installed this with a small change (@footnote is for stuff
> > that is really minor or off-topic).
> >
> > P.S. Can we close this bug now?
> 
> Yes, I think we can.

Thanks, done.

Subject: 29.0.50; read-char does not reset idle timer in some cases
From: Ignacio Casso <[email-masked]>
To: [email-masked]
Date: Sun, 13 Mar 2022 00:27:59 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

If I evaluate the following snippet, after 3 seconds Emacs prompts me
for a character and prints nil.

  (defun my-test ()
    (read-char "> " nil nil)
    (message "%s" (current-idle-time)))

  (run-with-timer 3 nil 'my-test)

However, if I evaluate the following snippet instead, where the last
argument of read-char is changed to the number of seconds the prompt
should wait at most for user input, it prints (0 K _ _), where K is 3
seconds plus whatever time in seconds you took to answer the
prompt. This means that right after reading a character from user input
Emacs still thinks it has been idle for a while.

  (defun my-test ()
    (read-char "> " nil 10)
    (message "%s" (current-idle-time)))

  (run-with-timer 3 nil 'my-test)

This is the reason behind a bug that occurs when resolving the running
org clock after some idle time, for which I have seen reports more than
10 years old but not as much discussion as I would expect. This makes me
think that Emacs does not behave like this for most systems and the
problem is particular to my setup. My setup should not be particular in
any sense however, just an Ubuntu 20.04 with default and standard
packages. Emacs' is the only configuration I have ever tweaked in my
machine, and this happens also with "emacs -Q", so it's not that.

Can you please evaluate the second snippet to try to reproduce this in
your machine? If you can't, I will be happy to provide any other
information of my machine that you think may be needed to reproduce
this, or to follow whichever steps you suggest to try to debug this
myself (I would have tried already but all functions involved are
written in C or too low-level).

Regards,

--Ignacio