[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#279: 23.0.60; (minor) minibuffer file-name completion issue for file
From: |
Tim Van Holder |
Subject: |
bug#279: 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@stupidchicken.com> wrote:
> "Tim Van Holder" <tim.vanholder@gmail.com> writes:
>
>> On Wed, Aug 27, 2008 at 7:19 PM, Chong Yidong <cyd@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).