emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: emacsclient in elisp


From: Eli Zaretskii
Subject: Re: emacsclient in elisp
Date: Fri, 21 May 2021 13:34:17 +0300

> Date: Fri, 21 May 2021 09:18:51 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: mail@daniel-mendler.de, bugs@gnu.support, emacs-devel@gnu.org
> 
> > From: Stefan Monnier <monnier@iro.umontreal.ca>
> > Cc: Daniel Mendler <mail@daniel-mendler.de>,  bugs@gnu.support,
> >   emacs-devel@gnu.org
> > Date: Thu, 20 May 2021 17:21:01 -0400
> > 
> > I'd expect in the server a loop like:
> > 
> >     (while t
> >       (let ((cmd (read-from-minibuffer "")))
> >         (process-command cmd)))
> > 
> > where `process-command` may launch async subprocesses or initiate
> > network connections or send commands to network connections, and the
> > above loop will not always immediately send replies but instead they may
> > be sent from the process filters and/or sentinels.
> > 
> > With the current implementation of `read-from-minibuffer` this above
> > loop won't work because there is no time where process filters and
> > timers are processed, including when we're waiting in
> > `read-from-minibuffer`.
> 
> But only if the above runs in batch mode, right?

Btw: in batch mode, read-from-minibuffer returns when it sees a
newline, so you could still use the above if you'd process each
incoming line, and then issued another read-from-minibuffer call only
when the processing was done.

So the situation we have doesn't look too bad to me.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]