Subject: Re: bug#12456: 24.2.50; Completion in `Info-goto-node' (cross-manual jump)

From: Eli Zaretskii <[email-masked]>
Date: Tue, 18 Sep 2012 09:23:18 +0300

> From: Stefan Monnier <[email-masked]>
> Date: Mon, 17 Sep 2012 17:12:10 -0400
> Cc: [email-masked]
> 
> > Recipe from emacs -Q: C-h r g ( e l i s p ) n n <TAB>
> > When I do it, I see in the echo area the message "[Complete, but not
> > unique]", which is wrong, as the elisp manual has no node called (nor
> > beggining with) "nn".
> > OTOH, if I repeat the experiment but this time with "(elisp)num",
> > Emacs says the same message (this time is right), but a second <TAB>
> > produces the message "[No completions]", which is wrong, as there is 3
> > nodes in the elisp manual whose names start with "num".
> 
> IIRC the core of the problem is that Info's completion table does not
> (yet) know how to do completion after something like "(elisp)", so it
> basically returns some "dummy" completion data (because the way
> completion tables are defined currently, they have no way to say "I
> don't know").

Can the completion tables say no completion candidates at all?  That
would be the best short-term solution; the stand-alone Info reader
does just that.

> So there are 2 ways to fix the above problem:
> - Extend minibuffer.el so a completion table return "don't know" (at
>   which point it could put a message like " [No completion info]").
> - Extend info.el so that it does provide actual completion by opening up
>   the "elisp" info file and gathering the corresponding node names.

The latter sounds like the best long-term solution to me.  Of course,
next we will see a bug report with "g (eli TAB"...