On Wed, May 9, 2018 at 8:21 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> From: João Távora <joaotavora@gmail.com>
> Cc: emacs-devel@gnu.org
> Date: Wed, 09 May 2018 20:15:23 +0100
>
> > 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"?

"Subprocess output" in that text doesn't include what
accept-process-output delivers, the text alludes to reading of
subprocess output via filter functions.

Hmm... There certainly seems to be more than a little room for 
confusion, but I couldn't probably think of a better phrasing. Thanks, 
and hoping future confused users can find this thread.

João