|
From: | Dmitry Gutov |
Subject: | bug#26710: Fwd: 25.2; project-find-regexp makes emacs use 100% cpu |
Date: | Sun, 30 Apr 2017 13:35:53 +0300 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:53.0) Gecko/20100101 Thunderbird/53.0 |
retitle 26710 project-find-regexp blocks the UI stop On 30.04.2017 7:13, Hariharan Rangasamy wrote:
When the search is in progress, I'm unable to use emacs. Emacs doesn't respond to any action until the search is over.
OK, that's a reasonable complaint, especially when the search term is a rarely occurring one (so most of the time is spent in the external process).
It is non-trivial to fix, however, while keeping the xref backend API and associated code sane.
I'm hoping that the newly-added concurrency support can help us in that. I have not looked into actually using it, though.
If someone (Eli?) would like to try their hand at it, or to even outline the basic direction such solution would use, that would be welcome.
It seems we need two parts:- Generating some sort of lazy sequence from the external process' output, so that the return value of an xref backend call is still a sequence.
- Being able to hook up in an asynchronous fashion to that sequence in a (second?) background thread, to render the search results in the xref buffer as soon as they appear.
[Prev in Thread] | Current Thread | [Next in Thread] |