emacs-devel
[Top][All Lists]
Advanced

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

"Non-standard UI", was: Re: bug#12492: Acknowledgement (24.2.50; Open vc


From: Dmitry Gutov
Subject: "Non-standard UI", was: Re: bug#12492: Acknowledgement (24.2.50; Open vc-dir buffer easier and faster)
Date: Fri, 6 Mar 2020 17:24:58 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0

On 06.03.2020 1:59, Juri Linkov wrote:
rgrep/vc-git-grep provides good UI.

No, it doesn't. It's the bare-bone-est UI possible, and it wastes a lot of horizontal space. It doesn't provide a means to search-and-replace. And it's not fit for programmatic construction, so Xref can't use it.

So we can't standardize on it, no matter how much you are used to it.

Not to mention the unfortunate side-effect of having to visit 4000 buffers.
It visits only matched buffers.
No. It looks through all project files and calls 'find-file' on each of
them. Which is obviously inevitable since multi-occur only accepts a
list of buffers, not files.
No, it doesn't call 'find-file' on each file, noccur-project
calls 'find-file' only on files with matches found by grep.

I asked where that command is defined, linked a webpage, you said yes.

But apparently you instead meant the newer version that's only on Github.

Okay then. Only visiting files that have matches is better. But not good enough when a string I entered ends up in having an arbitrary number of buffers visited, even if that's less than 4000.

It is one of "quality of life" things I have spent quite some effort on improving, and to be frank I don't appreciate you handwaving all that away by simply saying "non-standard".

None of the "standard" UIs you mentioned provide the functionality we need. Grep is async, but cumbersome and has no provision of doing anything with the matches: Wgrep is not in Emacs, not even in GNU ELPA, and there's no quick "replace matching string with xxx" feature in it anyway. Occur only works with buffers, it's not async either, and the overhead of visiting who knows how many buffers is basically unlimited (Grep is way faster at finding matches than Emacs at visiting files). It's objectively *worse* for the purpose at hand, which will be especially evident in bigger projects.



reply via email to

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