On Wed, May 9, 2018 at 9:00 PM, Davis Herring <herring@lanl.gov> wrote: >>> >>> 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.