GNU bug report logs -
#40152
27.0.90; icomplete vs recursive prompts
Previous Next
Full log
Message #17 received at 40152 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> For example, if I'm in a buffer whose default-directory is the root of
>> the Emacs source repository (e.g. in a Dired buffer, visiting the
>> Makefile…) and I hit C-.
>
> You mean, M-., right?
Right 🤦.
>>(and point is not on something that looks like an identifier),
>
> How do you do that? If I type M-. in *scratch*, Emacs doesn't ask me
> whether to visit a tags table (because the major mode is emacs-lisp).
> I need to visit a C file in src/ or lib-src/, but then all I need to
> type at the prompt is RET, nothing else. And if I do the above from a
> Dired buffer which shows the Emacs's root directory, then I get the
> prompt about visiting the tags table without any "Find definitions"
> prompt, and the problem doesn't happen.
>
> So please show the exact recipe for how to reproduce the problem you
> see.
>
>> here's what happens:
>>
>> 1. the "Find definitions of" prompt appears,
>> 2. I start typing an identifier,
>> 3. the "Visit tags table" prompt interrupts,
>> 4. I'd like to input "src/ C-j", but every self-inserting character
>> makes the prompt go back-and-forth between "Find definitions of" and
>> "Visit tags table". Worse, when the prompt comes back to "Visit tags
>> table", any character I had previously input has disappeared.
>
> So the problem happens _after_ the prompt, not _with_ the prompt.
> That wasn't quite clear, at least to me, from your original report:
> there was no sign in it what was the actual problem and what was the
> expected and result. Now I think it's becoming clearer, thanks.
My apologies for being unclear. Do those 4 steps you quoted (preceded
by M-x icomplete-mode) demonstrate the problem well enough then, or is
there anything I should add?
To recap:
- The problem only happens
- with icomplete-mode,
- with the etags backend,
- when there is no "identifier-like" symbol under point,
- when either
- the user starts typing self-inserting characters when the xref
identifier prompt shows up, or
- icomplete-show-matches-on-no-input is t.
- The problem is that one cannot fill in the tags table prompt easily:
self-inserting characters cause the minibuffer to move back-and-forth
between the tags table prompt and the xref identifier prompt.
The tags table prompt interrupting the xref prompt is not an issue (to
me, at least); what I would like is being able to complete the tags
table prompt, then go back to the xref prompt.
- A workaround consists in calling minibuffer-complete (TAB) immediately
when the xref prompt shows up; this brings up a functional tags table
prompt.
(This workaround cannot work when icomplete-show-matches-on-no-input
is t.)
Let me know if I managed to muddy things up further.
Thank you for your patience.
This bug report was last modified 3 years and 303 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.