|
From: | Davis Herring |
Subject: | Re: run-with-timer vs run-with-idle-timer |
Date: | Wed, 9 May 2018 14:00:30 -0600 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 |
An idle timer set for 600 seconds will run when ten minutes have elapsed since the last user command was finished, even if subprocess output has been accepted thousands of times within those ten minutes, and even if there have been garbage collections and autosaves.Doesn't this contradict what you told me first? I.e doesn't this contradict the fact that this never returns? (catch 'done (run-with-idle-timer 600 nil (lambda () (throw 'done nil))) (while t (accept-process-output nil 0.1))) ; 6 thousand times or should the manual be saying "even if subprocesses output has been non-explictly accepted thousands of times"?
No, because whatever command you used to invoke that code (C-x C-e in the trivial case) doesn't finish unless and until the loop finishes. So no time has yet "elapsed since the last user command was finished", regardless of anything about subprocesses.
Davis --This product is sold by volume, not by mass. If it appears too dense or too sparse, it is because mass-energy conversion has occurred during shipping.
[Prev in Thread] | Current Thread | [Next in Thread] |