From: Eli Zaretskii <eliz@gnu.org>
To: help-gnu-emacs@gnu.org
Subject: Re: etags to xref changed navigation
Date: Tue, 23 Apr 2024 20:15:45 +0300 [thread overview]
Message-ID: <86a5lk3sqm.fsf@gnu.org> (raw)
In-Reply-To: <87frvc6mhy.fsf@vps.thesusis.net> (message from Phillip Susi on Tue, 23 Apr 2024 13:02:17 -0400)
> From: Phillip Susi <phill@thesusis.net>
> Date: Tue, 23 Apr 2024 13:02:17 -0400
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > The old behavior is supposed to be necessary much less with xref,
> > since xref's search is more accurate, and usually finds only one
> > candidate. So I'd be interested to know in what programming language
> > do you see many candidates, and why.
>
> Typically there is only one *definition*, but many *referenecs*.
Now I'm confused: M-. and M-, were about finding *definitions*, not
references. If you want to find references, you need to type M-?
instead. So I wonder what am I missing here.
> > In addition, you haven't explained why you find the navigation in the
> > XREF buffer slow and cumbersome. Basically, once you switch to the
> > XREF buffer, you can display next/previous candidate with a single
> > key, which is not more typing than "M-," (and there's the ability to
> > select a candidate that is not next or previous, something "M-,"
> > couldn't give you). In addition, you can customize the variable
> > xref-auto-jump-to-first-definition to the value 'move' or 'show', in
> > which case the first candidate will be shown even if there are several
> > candidates.
>
> I find the window splitting to be a bit annoying, and if I want to poke
> around each callsite a bit, I have to keep switching windows with C-o to
> move between exploring, and moving to the next callsite.
You don't need to switch windows if you don't like it. Customize
xref-auto-jump-to-first-definition to the value t, and move between
candidate with "M-g M-n" and "M-g M-p". This way, you never need to
go to the window showing the *xref* buffer. (If you want that for
M-?, customize xref-auto-jump-to-first-xref instead.)
> > If you still want to have the old behavior back, you can rebind M-. to
> > find-tag and M-, to tags-loop-continue, which still exist, just
> > without the default key binding.
>
> Do they still function the same, especially if you are using eglot? I
> thought I checked and found that tags-loop-continue was obsolete/removed
> in emacs 29.
They work the same as they did before, and are obsolete, but not
removed.
They don't support Eglot, of course, since find-tag never did. So if
you want to have Eglot support, I suggest the customization described
above, it should give you the same UX as the old bindings, albeit with
different keys and the *xref* window which will be popped up.
next prev parent reply other threads:[~2024-04-23 17:15 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-22 15:11 etags to xref changed navigation Phillip Susi
2024-04-22 15:30 ` Eli Zaretskii
2024-04-22 16:00 ` Stefan Monnier via Users list for the GNU Emacs text editor
2024-04-22 19:19 ` Eli Zaretskii
2024-04-23 1:39 ` Stefan Monnier via Users list for the GNU Emacs text editor
2024-04-23 17:06 ` Phillip Susi
2024-04-23 18:29 ` Stefan Monnier
2024-04-23 18:41 ` Eli Zaretskii
2024-04-24 2:07 ` Stefan Monnier via Users list for the GNU Emacs text editor
2024-04-24 6:31 ` Eli Zaretskii
2024-04-25 0:05 ` Dmitry Gutov
2024-04-25 3:34 ` Stefan Monnier
2024-04-25 21:30 ` Dmitry Gutov
2024-04-23 17:02 ` Phillip Susi
2024-04-23 17:15 ` Eli Zaretskii [this message]
2024-04-22 17:48 ` Philip Kaludercic
2024-04-23 17:17 ` Phillip Susi
2024-04-23 19:33 ` Philip Kaludercic
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86a5lk3sqm.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).