GNU bug report logs - #279
23.0.60; (minor) minibuffer file-name completion issue for files containing $

Previous Next

Package: emacs;

Reported by: Tim Van Holder <tim.vanholder <at> gmail.com>

Date: Mon, 19 May 2008 11:30:03 UTC

Severity: normal

Done: Chong Yidong <cyd <at> stupidchicken.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 279 in the body.
You can then email your comments to 279 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#279; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Tim Van Holder <tim.vanholder <at> gmail.com>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Tim Van Holder <tim.vanholder <at> gmail.com>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.0.60;
	(minor) minibuffer file-name completion issue for files containing $
Date: Mon, 19 May 2008 13:23:28 +0200
Files present on the system:
 /foo/$blah.xyzzy
 /foo/$blah.quux

When pressing TAB twice to get completions for "/foo/$b", I noticed that
the fact that the $ gets escaped in the minibuffer seems to cause the
wrong letter to be highlighted in the *Completions* buffer (i.e. the 'y'
and 'u' are highlighted, respectively, instead of the 'x' and 'q',
respectively).

In GNU Emacs 23.0.60.1 (i686-pc-linux-gnu, GTK+ Version 2.8.20)
 of 2008-05-19 on leeloo
Windowing system distributor `RealVNC Ltd', version 11.0.3370
configured using `configure  '--with-x''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Dired by name

Minor modes in effect:
  shell-dirtrack-mode: t
  show-paren-mode: t
  pc-selection-mode: t
  display-time-mode: t
  delete-selection-mode: t
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t






Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#279; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Chong Yidong <cyd <at> stupidchicken.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #10 received at 279 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: Tim Van Holder <tim.vanholder <at> gmail.com>
Cc: 279 <at> debbugs.gnu.org
Subject: Re: 23.0.60; (minor) minibuffer file-name completion issue for files containing $
Date: Tue, 26 Aug 2008 22:13:36 -0400
> Files present on the system:
>  /foo/$blah.xyzzy
>  /foo/$blah.quux
>
> When pressing TAB twice to get completions for "/foo/$b", I noticed
> that the fact that the $ gets escaped in the minibuffer seems to cause
> the wrong letter to be highlighted in the *Completions* buffer
> (i.e. the 'y' and 'u' are highlighted, respectively, instead of the
> 'x' and 'q', respectively).

I can't reproduce it in latest CVS.  Maybe it's been fixed in the
meantime.  Do you still see this bug?




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#279; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to "Tim Van Holder" <tim.vanholder <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #15 received at 279 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: "Tim Van Holder" <tim.vanholder <at> gmail.com>
To: "Chong Yidong" <cyd <at> stupidchicken.com>
Cc: 279 <at> debbugs.gnu.org
Subject: Re: 23.0.60; (minor) minibuffer file-name completion issue for files containing $
Date: Wed, 27 Aug 2008 14:47:41 +0200
On Wed, Aug 27, 2008 at 4:13 AM, Chong Yidong <cyd <at> stupidchicken.com> wrote:
>> Files present on the system:
>>  /foo/$blah.xyzzy
>>  /foo/$blah.quux
>>
>> When pressing TAB twice to get completions for "/foo/$b", I noticed
>> that the fact that the $ gets escaped in the minibuffer seems to cause
>> the wrong letter to be highlighted in the *Completions* buffer
>> (i.e. the 'y' and 'u' are highlighted, respectively, instead of the
>> 'x' and 'q', respectively).
>
> I can't reproduce it in latest CVS.  Maybe it's been fixed in the
> meantime.  Do you still see this bug?

Now I get:
-> /foo
-> TAB
-> /foo/
-> TAB
-> /foo/$$blah.
-> TAB
-> /foo/$$blah. [no completions]

So I cannot reproduce the original problem with a CVS HEAD build, but
only in the sense that I don't get a *Completions* buffer at all.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#279; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Chong Yidong <cyd <at> stupidchicken.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #20 received at 279 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: "Tim Van Holder" <tim.vanholder <at> gmail.com>
Cc: 279 <at> debbugs.gnu.org
Subject: Re: 23.0.60; (minor) minibuffer file-name completion issue for files containing $
Date: Wed, 27 Aug 2008 13:19:52 -0400
I've checked in a fix that should allow completions to work properly
with files containing `$', including proper highlighting of the
completions buffer.




bug closed, send any further explanations to Tim Van Holder <tim.vanholder <at> gmail.com> Request was from Chong Yidong <cyd <at> stupidchicken.com> to control <at> emacsbugs.donarmstrong.com. (Wed, 27 Aug 2008 17:25:09 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#279; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to "Tim Van Holder" <tim.vanholder <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #27 received at 279 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: "Tim Van Holder" <tim.vanholder <at> gmail.com>
To: "Chong Yidong" <cyd <at> stupidchicken.com>
Cc: 279 <at> debbugs.gnu.org
Subject: Re: 23.0.60; (minor) minibuffer file-name completion issue for files containing $
Date: Thu, 28 Aug 2008 11:46:20 +0200
On Wed, Aug 27, 2008 at 7:19 PM, Chong Yidong <cyd <at> stupidchicken.com> wrote:
> I've checked in a fix that should allow completions to work properly
> with files containing `$', including proper highlighting of the
> completions buffer.

Unfortunately, after a fresh build this morning:
  make maintainer-clean
  /path/to/sources/configure --with-x
  make
  emacs -Q),
I still get the behaviour I saw yesterday: once it reaches
"/foo/$$blah." it claims there are no
completions.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#279; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Chong Yidong <cyd <at> stupidchicken.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #32 received at 279 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: "Tim Van Holder" <tim.vanholder <at> gmail.com>
Cc: 279 <at> debbugs.gnu.org
Subject: Re: 23.0.60; (minor) minibuffer file-name completion issue for files containing $
Date: Thu, 28 Aug 2008 10:15:29 -0400
"Tim Van Holder" <tim.vanholder <at> gmail.com> writes:

> On Wed, Aug 27, 2008 at 7:19 PM, Chong Yidong <cyd <at> stupidchicken.com> wrote:
>> I've checked in a fix that should allow completions to work properly
>> with files containing `$', including proper highlighting of the
>> completions buffer.
>
> Unfortunately, after a fresh build this morning:
>   make maintainer-clean
>   /path/to/sources/configure --with-x
>   make
>   emacs -Q),
> I still get the behaviour I saw yesterday: once it reaches
> "/foo/$$blah." it claims there are no
> completions.

What is your precise recipe?  I can't reproduce the problem over here:

touch \$blah.quux
touch \$blah.xyzzy
emacs -Q
M-x shell RET
cd $$b TAB     -> completes to \$blah.
TAB            -> completions window opens up




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#279; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to "Tim Van Holder" <tim.vanholder <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #37 received at 279 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: "Tim Van Holder" <tim.vanholder <at> gmail.com>
To: "Chong Yidong" <cyd <at> stupidchicken.com>
Cc: 279 <at> debbugs.gnu.org
Subject: Re: 23.0.60; (minor) minibuffer file-name completion issue for files containing $
Date: Fri, 29 Aug 2008 11:51:54 +0200
On Thu, Aug 28, 2008 at 4:15 PM, Chong Yidong <cyd <at> stupidchicken.com> wrote:
> "Tim Van Holder" <tim.vanholder <at> gmail.com> writes:
>
>> On Wed, Aug 27, 2008 at 7:19 PM, Chong Yidong <cyd <at> stupidchicken.com> wrote:
>>> I've checked in a fix that should allow completions to work properly
>>> with files containing `$', including proper highlighting of the
>>> completions buffer.
>>
>> Unfortunately, after a fresh build this morning:
>>   make maintainer-clean
>>   /path/to/sources/configure --with-x
>>   make
>>   emacs -Q),
>> I still get the behaviour I saw yesterday: once it reaches
>> "/foo/$$blah." it claims there are no
>> completions.
>
> What is your precise recipe?  I can't reproduce the problem over here:
>
> touch \$blah.quux
> touch \$blah.xyzzy
> emacs -Q
> M-x shell RET
> cd $$b TAB     -> completes to \$blah.
> TAB            -> completions window opens up

Completion in a shell buffer does seem to work - but that's not what I
reported a problem with.
My problem is with filename completion in the minibuffer.
Recipe:
$ mkdir /foo
$ touch '/foo/$blah.quux'
$ touch '/foo/$blah.xyzzy'
$ emacs -Q
C-x C-f /foo
TAB (-> /foo/)
TAB (-> /foo/$$blah.)
TAB (-> [no completions])

A bit of fiddling shows this:
- if I have a path that extends past /foo/$ in the minibuffer, with
point at the end or just before the b,
  TAB expands $ to $$
  Examples (^ denotes point):
    "/foo/$b^" -> TAB -> "/foo/$$blah.^"
    "/foo/$^bla" -> TAB -> "/foo/$$blah.^"
- otherwise, if I have a path that extends past /foo/$ in the
minibuffer, with point after the $, TAB
  reports [No match]
  Examples (^ denotes point):
    "/foo/$b^la" -> TAB -> "/foo/$b^la [No match]"
    "/foo/$bl^a" -> TAB -> "/foo/$bl^a [No match]"
- if I have a path that extends past /foo/ in the minibuffer, with
point exactly before the $, TAB
  completes without doubling the $; and if the path already was
/foo/$blah., it pops up the
  completion buffer (at which point further TABs leave the minibuffer
unchanged instead of behaving
  as described above).
  Examples (^ denotes point):
    "/foo/^$bla" -> TAB -> "/foo/$blah.^"
    "/foo/^$blah." -> TAB -> "/foo/^$blah." + *Completions*
- otherwise, if I have a path that extends past /foo/ in the
minibuffer, with point exactly before the /,
  TAB pops up a completion buffer for the files in /foo (highlighting
the $ as the next character to type)
  Example (^ denotes point):
    "/foo^/$bla" -> TAB -> "/foo/^$blah." + *Completions*
- otherwise, if I have a path that extends past /foo/ in the
minibuffer, with point inside the "foo", TAB
  completes the /foo/ prefix (which they gets greyed out because of
the / already present behind it)
  Example (^ denotes point):
    "/fo^o/$bla" -> TAB -> "/foo//$blah." + *Completions*

Several of those cases seem to behaving decidedly oddly (although some
may be expected and
intended behaviour).




bug archived. Request was from Debbugs Internal Request <don <at> donarmstrong.com> to internal_control <at> emacsbugs.donarmstrong.com. (Fri, 26 Sep 2008 14:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 16 years and 328 days ago.

Previous Next


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