unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#11755: 24.1.50; regression: invalid function - file name completion
@ 2012-06-20 20:44 Drew Adams
  2012-06-21 16:29 ` Stefan Monnier
  0 siblings, 1 reply; 3+ messages in thread
From: Drew Adams @ 2012-06-20 20:44 UTC (permalink / raw)
  To: 11755

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@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'
 






^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#11755: 24.1.50; regression: invalid function - file name completion
  2012-06-20 20:44 bug#11755: 24.1.50; regression: invalid function - file name completion Drew Adams
@ 2012-06-21 16:29 ` Stefan Monnier
  2012-06-21 16:45   ` Drew Adams
  0 siblings, 1 reply; 3+ messages in thread
From: Stefan Monnier @ 2012-06-21 16:29 UTC (permalink / raw)
  To: Drew Adams; +Cc: 11755

> (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





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#11755: 24.1.50; regression: invalid function - file name completion
  2012-06-21 16:29 ` Stefan Monnier
@ 2012-06-21 16:45   ` Drew Adams
  0 siblings, 0 replies; 3+ messages in thread
From: Drew Adams @ 2012-06-21 16:45 UTC (permalink / raw)
  To: 'Stefan Monnier'; +Cc: 11755

> > (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.






^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-06-21 16:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-20 20:44 bug#11755: 24.1.50; regression: invalid function - file name completion Drew Adams
2012-06-21 16:29 ` Stefan Monnier
2012-06-21 16:45   ` Drew Adams

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).