all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: help-gnu-emacs@gnu.org
Subject: Re: etags to xref changed navigation
Date: Mon, 22 Apr 2024 18:30:38 +0300	[thread overview]
Message-ID: <86edax5s9t.fsf@gnu.org> (raw)
In-Reply-To: <87sezdqvox.fsf@vps.thesusis.net> (message from Phillip Susi on Mon, 22 Apr 2024 11:11:10 -0400)

> From: Phillip Susi <phill@thesusis.net>
> Date: Mon, 22 Apr 2024 11:11:10 -0400
> 
> Etags used to work by hitting ( I think it was ) M-. to find the first
> reference, then M-, to cycle through the remaining references.  It seems
> that when it was replaced with xref, the M-, binding was removed, and
> now M-. opens an xref buffer ( splitting the window ) listing all of the
> references, and you have to navigate that buffer in one window while
> viewing each location in another.
> 
> I find this process slow and cumbersome compared to the old way of just
> jumping from reference to reference.  Is there a way to get back to the
> old behavior?

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.

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.

Given all these facts, I'd be interested to hear why you consider the
new operation inferior to the old one.

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.



  reply	other threads:[~2024-04-22 15:30 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 [this message]
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
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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86edax5s9t.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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.