bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#23179: 25.0.92; Restore `M-,' to continue etags search


From: Eli Zaretskii
Subject: bug#23179: 25.0.92; Restore `M-,' to continue etags search
Date: Sun, 03 Apr 2016 22:36:07 +0300

> Date: Sun, 3 Apr 2016 20:32:17 +0200
> From: Anders Lindgren <andlind@gmail.com>
> Cc: Eli Zaretskii <eliz@gnu.org>, 23179@debbugs.gnu.org
> 
> * Unlike `tags-search', it search through all source files before presenting 
> the first match. The traditional
> `tags-search' stop of the first match, and continue searching when the used 
> pressed `M-,'. The effect is that it
> becomes much, much slower to find the first match [+++]. I would suggest that 
> xref should provide two kinds
> of searches: one incremental (like `tags-search') and one `find-all' (like 
> the provided function). You could think
> of `isearch' vs. `occur'. It would be fine with me if `next-error' would be 
> used to restart the incremental search
> (even though I would probably bind it to `M-,').

OTOH, seeing all of the hits allows you to find the one(s) you are
looking for much faster, since you don't need to visit them one by
one.  Another nice side effect is that you don't end up visiting all
of the files you needed to look through until you find the hit(s) you
were really looking for.

So this change has upsides as well, not only downsides.  I agree that
IWBNI there was an incremental version, although I'm not sure I'd like
it to bring me one hit at a time, I'd rather see a larger chunk.

> * There is no need for a xref UI window when doing an incremental search or 
> query-replace. It just occupies
> precious screen real estate.

The UI window is the one that allows you to jump to the hit you are
looking for quickly.

> * The xref UI window is not updated to reflect the current location. For 
> example, in a *grep* buffer, the cursor
> move and an arrow in the left fringe reflect the current location.

The cursor does move in the xref buffer if you use 'n' and 'p' in that
buffer.

> * I like the touch that the matches in the *xref* buffer are syntax 
> highlighted. Unfortunately, not all matches are
> highlighted. It appears as though only matches in previously viewed parts of 
> source files retain syntax
> highlighting.

I cannot reproduce this.

> * `next-error' in ChangeLog buffers cause Emacs to go to the corresponding 
> change. This makes it hard to
> step past irrelevant xref matches if they occur a ChangeLog file.

You are supposed to get past them by moving in the xref buffer
instead.

> +++ Using "etags *.h *.m *.c" in the Emacs "src" directory, `(tags-search 
> "nstrace")' find the first occurrence
> in 0.7 seconds, whereas the new `tags-find-regexp' takes over 8 seconds to 
> perform a full search.

But after those 0.7 sec you are blind: you don't know how many hits
are there, and what will be the next hit to be shown to you.





reply via email to

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