From: Juri Linkov <juri@linkov.net>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: alan@idiocy.org, mattiase@acm.org, homeros.misasa@gmail.com,
tkk@misasa.okayama-u.ac.jp, larsi@gnus.org,
50067@debbugs.gnu.org
Subject: bug#50067: Context menus
Date: Wed, 01 Sep 2021 10:08:38 +0300 [thread overview]
Message-ID: <87czps95tt.fsf@mail.linkov.net> (raw)
In-Reply-To: <3656c47f-49e2-1a90-ce2f-12b8899742aa@yandex.ru> (Dmitry Gutov's message of "Tue, 31 Aug 2021 23:23:43 +0300")
>> so the new option could provide at least these choices:
>> 1. 'jump': Jump to the first location by selecting its window;
>> 2. 'show': Show the first item, but keep focus in the Xref window;
>> 3. 'move': Move point to the first item in the Xref window
>> without showing it (maybe this should be the default behavior).
>
> We can do that. Do you expect to be using more than 1 of these values
> yourself, or is it just for completeness?
A good indication that all values are needed is that I still can't decide
which to use, so it would be possible to switch to another value when
one of them does too much or too little.
> Regarding 3 as default, it makes a certain sense, but then you won't be
> able to iterate through all locations with just 'n'. You'd have to press
> 'C-o' and then 'n', 'n', 'n'...
I agree, it should not be the default.
>> To be able to add later a similar variable for xref-find-references,
>> the new variable for xref-find-definitions could be named accordingly
>> with a name that refers to xref-find-definitions, for example,
>> xref-find-definitions-auto-jump. Then later xref-find-references-auto-jump.
>
> I think the "other" variable would be called something with the word
> "xrefs", not "references", and apply to other commands as well, such as
> xref-find-apropos and project-find-regexp.
>
> So the proposed scheme would not quite work. Maybe like this instead?
>
> - xref-auto-jump-to-first-definition
> - xref-auto-jump-to-first-<xref/item/match/result>. Or just
> xref-auto-jump-to-first.
grep/compilation already supports the value 'jump' by non-nil
'compilation-auto-jump-to-first-error', and the value 'move' when
'compilation-scroll-output' is customized to 'first-error'.
But I think for xref still two separate options are needed
xref-auto-jump-to-first-definition for xref-find-definitions, and
xref-auto-jump-to-first-xref for other more grep-like xref commands.
BTW, I'm testing compilation errors/warnings on xref context menu,
and it reposts this warning:
prog-mode.el:60:12: Warning: the function `xref-backend-identifier-at-point'
is not known to be defined.
on this code:
(defun prog-context-menu (menu)
(require 'xref)
(define-key-after menu [prog-separator] menu-bar-separator
'mark-whole-buffer)
(when (save-excursion
(mouse-set-point last-input-event)
(xref-backend-identifier-at-point
(xref-find-backend)))
(define-key-after menu [xref-find-def]
'(menu-item "Find Definition" xref-find-definitions-at-mouse
:help "Find definition of identifier")
'prog-separator))
Maybe `xref-backend-identifier-at-point' should be autoloaded?
next prev parent reply other threads:[~2021-09-01 7:08 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <74BC00E9-2509-47DA-9428-1523FF7F3B33@acm.org>
2021-08-18 16:42 ` bug#50067: Context menus Juri Linkov
2021-08-18 17:46 ` Mattias Engdegård
2021-08-18 17:53 ` Eli Zaretskii
2021-08-19 14:22 ` Mattias Engdegård
2021-08-20 7:31 ` Juri Linkov
2021-08-20 17:06 ` Mattias Engdegård
2021-08-20 23:31 ` Dmitry Gutov
2021-08-21 4:43 ` Tak Kunihiro
2021-08-21 6:33 ` Tak Kunihiro
2021-08-22 8:28 ` Juri Linkov
2021-08-23 3:11 ` Tak Kunihiro
2021-08-23 7:24 ` Juri Linkov
2021-08-24 10:12 ` Tak Kunihiro
2021-08-24 17:23 ` Juri Linkov
2021-08-24 23:43 ` Tak Kunihiro
2021-08-25 17:45 ` Juri Linkov
2021-08-26 6:13 ` Juri Linkov
2021-08-27 6:24 ` Juri Linkov
2021-08-28 5:18 ` Tak Kunihiro
2021-08-31 17:37 ` Juri Linkov
2021-08-31 17:43 ` Juri Linkov
2021-08-31 18:58 ` Eli Zaretskii
2021-09-01 7:12 ` Juri Linkov
2021-08-18 17:46 ` Eli Zaretskii
2021-08-18 18:01 ` Mattias Engdegård
2021-08-18 18:11 ` Eli Zaretskii
2021-08-18 18:06 ` Juri Linkov
2021-08-18 18:12 ` Eli Zaretskii
2021-08-18 18:39 ` Eli Zaretskii
2021-08-19 1:31 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-08-19 6:44 ` Eli Zaretskii
2021-08-18 18:40 ` Juri Linkov
2021-08-18 18:59 ` Eli Zaretskii
2021-08-19 7:12 ` Juri Linkov
2021-08-19 7:57 ` Eli Zaretskii
2021-08-20 7:29 ` Juri Linkov
2021-08-20 10:29 ` Mattias Engdegård
2021-08-20 10:53 ` Eli Zaretskii
2021-08-20 11:32 ` Mattias Engdegård
2021-08-20 16:50 ` Juri Linkov
2021-08-20 17:11 ` Mattias Engdegård
2021-08-20 11:32 ` Eli Zaretskii
2021-08-20 16:36 ` Juri Linkov
2021-08-20 17:59 ` Eli Zaretskii
2021-08-20 19:29 ` Mattias Engdegård
2021-08-21 9:42 ` Alan Third
2021-08-21 10:57 ` Mattias Engdegård
2021-08-21 11:17 ` Eli Zaretskii
2021-08-21 11:45 ` Mattias Engdegård
2021-08-21 12:16 ` Eli Zaretskii
2021-08-22 19:11 ` Dmitry Gutov
2021-08-22 19:22 ` Eli Zaretskii
2021-08-22 19:54 ` Dmitry Gutov
2021-08-23 2:21 ` Eli Zaretskii
2021-08-23 11:18 ` Dmitry Gutov
2021-08-23 11:40 ` Eli Zaretskii
2021-08-23 16:02 ` Juri Linkov
2021-08-24 17:59 ` Dmitry Gutov
2021-08-25 14:15 ` Dmitry Gutov
2021-08-25 15:59 ` Eli Zaretskii
2021-08-26 13:01 ` Eli Zaretskii
2021-08-26 21:05 ` Dmitry Gutov
2021-08-26 21:07 ` Dmitry Gutov
2021-08-27 6:13 ` Juri Linkov
2021-08-27 6:26 ` Eli Zaretskii
2021-08-30 2:45 ` Dmitry Gutov
2021-08-30 11:57 ` Eli Zaretskii
2021-08-31 7:05 ` Juri Linkov
2021-08-31 12:24 ` Dmitry Gutov
2021-08-31 16:56 ` Juri Linkov
2021-08-31 20:23 ` Dmitry Gutov
2021-09-01 7:08 ` Juri Linkov [this message]
2021-09-01 19:03 ` Dmitry Gutov
2021-09-05 0:55 ` Dmitry Gutov
2021-09-05 8:37 ` Juri Linkov
2021-09-05 19:25 ` Dmitry Gutov
2021-08-22 8:46 ` Juri Linkov
2021-08-15 8:48 Juri Linkov
2021-08-15 11:56 ` Lars Ingebrigtsen
2021-08-15 16:12 ` Juri Linkov
2021-08-16 11:31 ` Lars Ingebrigtsen
2021-08-17 8:12 ` Juri Linkov
2021-08-18 4:38 ` Tak Kunihiro
2021-08-18 7:47 ` Juri Linkov
2021-08-28 9:08 ` Naoya Yamashita
2021-08-28 18:50 ` Juri Linkov
2021-09-27 15:30 ` Juri Linkov
2021-09-27 15:50 ` Lars Ingebrigtsen
2021-09-28 18:49 ` Juri Linkov
2021-09-29 7:00 ` Juri Linkov
2021-09-27 18:41 ` Eli Zaretskii
2021-09-28 18:54 ` Juri Linkov
2021-09-28 19:31 ` Eli Zaretskii
2021-09-27 15:33 ` Juri Linkov
2021-10-20 16:59 ` Juri Linkov
2021-11-08 20:05 ` Juri Linkov
2021-11-18 18:38 ` Juri Linkov
2021-11-25 7:50 ` Juri Linkov
2021-11-25 8:38 ` Eli Zaretskii
2021-11-25 19:28 ` Juri Linkov
2021-11-30 18:12 ` Juri Linkov
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=87czps95tt.fsf@mail.linkov.net \
--to=juri@linkov.net \
--cc=50067@debbugs.gnu.org \
--cc=alan@idiocy.org \
--cc=dgutov@yandex.ru \
--cc=homeros.misasa@gmail.com \
--cc=larsi@gnus.org \
--cc=mattiase@acm.org \
--cc=tkk@misasa.okayama-u.ac.jp \
/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.