GNU bug report logs -
#11755
24.1.50; regression: invalid function - file name completion
Previous Next
Reported by: "Drew Adams" <drew.adams <at> oracle.com>
Date: Wed, 20 Jun 2012 20:49:01 UTC
Severity: normal
Found in version 24.1.50
Done: "Drew Adams" <drew.adams <at> oracle.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 11755 in the body.
You can then email your comments to 11755 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#11755
; Package
emacs
.
(Wed, 20 Jun 2012 20:49:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
"Drew Adams" <drew.adams <at> oracle.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Wed, 20 Jun 2012 20:49:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
I traced this in the debugger in Emacs 24.1, where there is no problem,
and in this build.
The starting point to see the difference is this:
(try-completion "c:/foo" 'read-file-name-internal "c:/foobar/")
In both versions that leads to:
(read-file-name-internal "c:/foo" "c:/foobar/" nil)
which leads eventually to this difference:
Emacs 24.1:
(file-name-completion "foo" "c:/" nil) ; returns "c:/foobar/"
Emacs 24.1.50, 2012-06-18:
(file-name-completion "foo" "c:/" "c:/foobar/") ; signals an error
Evaluating that sexp leads to this invalid evaluation (this is the
debugger line), which tries to apply the directory string as if it
were a function:
* "c:/foobar/"("foobar/")
This breaks, for example, Icicles highlighting of the mismatched portion
of minibuffer input. For that, I proceed via bifurcation to match larger
prefixes of the input string until I find where the mismatch first
starts (leftmost mismatch position).
The test now fails (I do it in a condition-case that returns nil for an
error) for even a slight prefix such as c:/foo, so _all_ of the input is
always highlighted (for file-name completion).
In GNU Emacs 24.1.50.1 (i386-mingw-nt5.1.2600)
of 2012-06-18 on MARVIN
Bzr revision: 108646 michael.albinus <at> gmx.de-20120617185439-jfcgwwbr97nbflkz
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
`configure --with-gcc (4.6) --no-opt --enable-checking --cflags
-ID:/devel/emacs/libs/libXpm-3.5.8/include
-ID:/devel/emacs/libs/libXpm-3.5.8/src
-ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
-ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
-ID:/devel/emacs/libs/giflib-4.1.4-1/include
-ID:/devel/emacs/libs/jpeg-6b-4/include
-ID:/devel/emacs/libs/tiff-3.8.2-1/include
-ID:/devel/emacs/libs/gnutls-3.0.9/include
-ID:/devel/emacs/libs/libiconv-1.13.1-1-dev/include
-ID:/devel/emacs/libs/libxml2-2.7.8/include/libxml2'
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#11755
; Package
emacs
.
(Thu, 21 Jun 2012 16:34:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 11755 <at> debbugs.gnu.org (full text, mbox):
> (try-completion "c:/foo" 'read-file-name-internal "c:/foobar/")
> (file-name-completion "foo" "c:/" "c:/foobar/") ; signals an error
Because the third argument to those functions should be a PREDicate, not
a string. Emacs-23 and Emacs-24.1 still accepted the old hack of
passing the PWD in this predicate argument, but not 24.2.
Please fix Icicles accordingly.
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#11755
; Package
emacs
.
(Thu, 21 Jun 2012 16:50:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 11755 <at> debbugs.gnu.org (full text, mbox):
> > (try-completion "c:/foo" 'read-file-name-internal "c:/foobar/")
> > (file-name-completion "foo" "c:/" "c:/foobar/") ; signals an error
>
> Because the third argument to those functions should be a
> PREDicate, not a string. Emacs-23 and Emacs-24.1 still
> accepted the old hack of passing the PWD in this predicate
> argument, but not 24.2. Please fix Icicles accordingly.
Ah yes. I had changed the arg everywhere else, to:
(if (< emacs-major-version 23)
default-directory
minibuffer-completion-predicate)
Missed that occurrence. Thx.
bug closed, send any further explanations to
11755 <at> debbugs.gnu.org and "Drew Adams" <drew.adams <at> oracle.com>
Request was from
"Drew Adams" <drew.adams <at> oracle.com>
to
control <at> debbugs.gnu.org
.
(Thu, 21 Jun 2012 16:55:02 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 20 Jul 2012 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 13 years and 28 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.