GNU bug report logs - #12456
24.2.50; Completion in `Info-goto-node' (cross-manual jump)

Previous Next

Package: emacs;

Reported by: Dani Moncayo <dmoncayo <at> gmail.com>

Date: Sun, 16 Sep 2012 18:01:02 UTC

Severity: normal

Found in version 24.2.50

Fixed in version 24.3.50

Done: Juri Linkov <juri <at> jurta.org>

Bug is archived. No further changes may be made.

Full log


Message #17 received at 12456 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 12456 <at> debbugs.gnu.org, dmoncayo <at> gmail.com
Subject: Re: bug#12456: 24.2.50;
	Completion in `Info-goto-node' (cross-manual jump)
Date: Tue, 18 Sep 2012 08:22:47 -0400
>> 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 that we always get a [No completions] message?
We can try.  It's all decided in the following three lines of
Info-read-node-name-1:

   ((string-match "\\`(" string)
    (cond
     ((eq code nil) string)
     ((eq code t) nil)
     (t t)))

As long as we don't know the actual list of nodes, it's important to
return non-nil when `code' is `lambda': that's the `test-completion'
case, which determines whether RET will accept the user's input since
the completion is called with `require-match'.
     
>> 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.

Agreed.

> Of course, next we will see a bug report with "g (eli TAB"...

Try it: that one already works.


        Stefan




This bug report was last modified 12 years and 140 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.