emacs-devel
[Top][All Lists]
Advanced

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

Re: call-process should not block process filters from running


From: Dmitry Gutov
Subject: Re: call-process should not block process filters from running
Date: Wed, 5 Jul 2023 21:53:21 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0

On 04/07/2023 21:12, sbaugh@catern.com wrote:
Dmitry Gutov <dmitry@gutov.dev> writes:
On 03/07/2023 03:02, sbaugh@catern.com wrote:
Since project-find-regexp can
take many seconds on large repos, I think this is useful.
However, my other main test case/use case, being able to paste while
Emacs is in call-process, doesn't work with this change.  Any idea on
how to make that work?

Do you have some particular aim related to project-find-regexp?

Having Emacs interactive and responsive while the search is ongoing
would require a different direction in design.

Is the goal simply to have other, unrelated code keep running?

I merely use project-find-regexp as an example of an important function
that uses call-process.  The goal is indeed simply to have other
unrelated code keep running.  And to be able to paste in other X
clients.  And be able to call project-find-regexp (and other
call-process using functions) from a Lisp thread.

Cool.

project-find-regexp also works over Tramp, though. Given Michael's objections in the other subthread, do you expect the proposed change might break that? If it simply keeps the current limitations (when invoked on a remote host), that's probably fine.

Changing project-find-regexp to use asynchronous processes would be
nice, but more work, requiring more design effort.  Running processes
synchronously is fine, if it doesn't block unrelated code.

Sure. And there's some expected additional process handling overhead after switching to asynchronous calling. Though it would be nice to do some experiments, to measure the potential slowdown.




reply via email to

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