[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#11755: 24.1.50; regression: invalid function - file name completion

From: Drew Adams
Subject: bug#11755: 24.1.50; regression: invalid function - file name completion
Date: Wed, 20 Jun 2012 13:44:27 -0700

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 (i386-mingw-nt5.1.2600)
 of 2012-06-18 on MARVIN
Bzr revision: 108646 address@hidden
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.6) --no-opt --enable-checking --cflags

reply via email to

[Prev in Thread] Current Thread [Next in Thread]