GNU bug report logs - #1085
23.0.60; all-completions, try-completion inconsistent: Info-read-node-name-1

Previous Next

Package: emacs;

Reported by: "Drew Adams" <drew.adams <at> oracle.com>

Date: Sat, 4 Oct 2008 23:05:04 UTC

Severity: normal

Done: Chong Yidong <cyd <at> stupidchicken.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (Emacs bug Tracking System)
To: "Drew Adams" <drew.adams <at> oracle.com>
Subject: bug#1085 closed by Chong Yidong <cyd <at> stupidchicken.com> (RE:
 bug#1085: 23.0.60; all-completions, try-completion inconsistent:
 Info-read-node-name-1)
Date: Sat, 15 Aug 2009 22:25:05 +0000
[Message part 1 (text/plain, inline)]
This is an automatic notification regarding your bug report
which was filed against the emacs package:

#1085: 23.0.60; all-completions, try-completion inconsistent: Info-read-node-name-1

It has been closed by Chong Yidong <cyd <at> stupidchicken.com>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Chong Yidong <cyd <at> stupidchicken.com> by
replying to this email.


-- 
1085: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=1085
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Chong Yidong <cyd <at> stupidchicken.com>
To: 1085-done <at> debbugs.gnu.org
Subject: RE: bug#1085: 23.0.60; all-completions, try-completion inconsistent: Info-read-node-name-1
Date: Sat, 15 Aug 2009 18:19:04 -0400
Since discussion of this has come to a stop long ago, and there are no
planned changes to the new completion design, I'm closing this bug.
[Message part 3 (message/rfc822, inline)]
From: "Drew Adams" <drew.adams <at> oracle.com>
To: <emacs-pretest-bug <at> gnu.org>
Subject: 23.0.60; all-completions, try-completion inconsistent: Info-read-node-name-1
Date: Sat, 4 Oct 2008 15:58:20 -0700
emacs -Q
C-h i
 
M-: (try-completion "(el" 'Info-read-node-name-1)
 
It returns "(elisp)", meaning that this is the common prefix of all
completions of "(el". [This is reasonable, and it satisfies the
requirement that "(el" is a prefix of "(elisp)".]
 
M-: (all-completions "(el" 'Info-read-node-name-1)
 
It returns ("elisp"), meaning that the only valid completion of "(el"
is "elisp". But "elisp" does not have the common prefix "(elisp)" as
determined by `try-completion', and "elisp" does not even have the
input "(el" as a prefix. This is inconsistent.  `all-completions'
should return ("(elisp)") in this case.
 
Lisp code needs to be able to depend on the fact that the valid
completions returned by `all-completions' have the common prefix
that is returned by `try-completion' (which must in turn have the
input as its prefix).

And each of the completions returned by `all-completions' must
also satisfy `test-completion'.  In particular,
(test-completion STRG (all-completions strg TABLE)) must always
return t, for all STRG and TABLE. In this case, for STRG = "(el" and
TABLE = `Info-read-node-name-1', it returns nil.

One should be able to use `all-completions' to construct a cons
completion table that is equivalent to the original TABLE argument,
regardless of how TABLE is defined (e.g. function, obarray).  That
is, when used with the same inputs it should have the same effect,
in particular for `try-completion', `all-completions', and
`test-completion'.

I don't know if this is a bug for Info-read-node-name-1 (or -2) or a
bug for one of the `minibuffer.el' functions that it uses.  The code
is a bit hard to follow.
 

In GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600)
 of 2008-10-03 on LENNART-69DE564
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4) --no-opt --cflags -Ic:/g/include
-fno-crossjumping'
 




This bug report was last modified 15 years and 342 days ago.

Previous Next


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