[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#40152: 27.0.90; icomplete vs recursive prompts
From: |
Kévin Le Gouguec |
Subject: |
bug#40152: 27.0.90; icomplete vs recursive prompts |
Date: |
Sat, 21 Mar 2020 21:03:39 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Eli Zaretskii <eliz@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.