zsh-workers
 help / color / mirror / code / Atom feed
* globcomplete desctroys file completion
@ 2009-02-21 14:18 Jörg Sommer
  2009-02-21 19:16 ` Bart Schaefer
  0 siblings, 1 reply; 11+ messages in thread
From: Jörg Sommer @ 2009-02-21 14:18 UTC (permalink / raw)
  To: zsh-workers

Hi,

when I set the option globcomplete, file completion doesn't work in all
cases.

% zsh -f
ibook% autoload -Uz compinit
ibook% compinit
ibook% print -l T/t/t<TAB>          --> Tmp/texlive/te
ibook% setopt globcomplete 
ibook% print -l T/t/t<TAB>          --> nothing, failure
% zsh --version
zsh 4.3.9 (powerpc-unknown-linux-gnu)

A log for this is available at
http://alioth.debian.org/~jo-guest/zsh5117print1

Bye, Jörg.
-- 
Fuchs' Paradoxon (http://www.bruhaha.de/laws.html):
Wer eine allgemeine Frage beliebigen Themas nach de.alt.arnooo postet und
eine ernsthafte Antwort erwartet, ist dort eigentlich ziemlich ontopic.


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

* Re: globcomplete desctroys file completion
  2009-02-21 14:18 globcomplete desctroys file completion Jörg Sommer
@ 2009-02-21 19:16 ` Bart Schaefer
  2009-02-22  0:57   ` Bart Schaefer
  2009-02-22 20:36   ` Jörg Sommer
  0 siblings, 2 replies; 11+ messages in thread
From: Bart Schaefer @ 2009-02-21 19:16 UTC (permalink / raw)
  To: zsh-workers

On Feb 21,  2:18pm, Jorg wrote:
}
} when I set the option globcomplete, file completion doesn't work in all
} cases.

Based just on the _complete_debug output you sent, I'd say that the
correct thing is happening WITH globcomplete, and without it you're
somehow getting disambiguation that you shouldn't.

For example, T*/t*/t* should among other files match Tmp/texlive/tlpkg
and Tmp/texlive2008/tlpkg, but when you complete without globcomplete
you're offered Tmp/texlive/te as a unique prefix.  How can that be
correct?
 
} % zsh -f
} ibook% autoload -Uz compinit
} ibook% compinit

You might try using "compinit -D" here when testing, to avoid reading
an existing zcompdump file.  Probably doesn't matter here.

} ibook% print -l T/t/t<TAB>          --> Tmp/texlive/te
} ibook% setopt globcomplete 
} ibook% print -l T/t/t<TAB>          --> nothing, failure
} % zsh --version
} zsh 4.3.9 (powerpc-unknown-linux-gnu)
} 
} A log for this is available at
} http://alioth.debian.org/~jo-guest/zsh5117print1

What is helpful in these cases is TWO logs, e.g. one with globcomplete
set and the other with globcomplete NOT set, for comparison.

I created the set of files shown at _path_files:449 in your debug trace:

schaefer<513> print -C 2 T*/t*/t*
Tmp/texlive2008/texmf            Tmp/texlive/texmf
Tmp/texlive2008/texmf-dist       Tmp/texlive/texmf.cnf
Tmp/texlive2008/texmf-doc        Tmp/texlive/texmf-config
Tmp/texlive2008/texmf-var        Tmp/texlive/texmf-dist
Tmp/texlive2008/tlpkg            Tmp/texlive/texmf-doc
Tmp/texlive2008/tl-portable      Tmp/texlive/texmf-local
Tmp/texlive2008/tl-portable.bat  Tmp/texlive/texmf-var
Tmp/texlive/temp                 Tmp/texlive/tlpkg
schaefer<514> zsh -f
torch% autoload -Uz compinit
torch% compinit -D
torch% print T/t/t<C-x?>
torch% print Tmp/texlive/t
                        ^
			cursor is here, on the slash, because
			texlive is ambiguous with texlive2008
torch% setopt globcomplete
torch% print T/t/t<C-x?>
Trace output left in /tmp/zsh12830print2 (up-history to view)
torch% print T/t/t<C-d>
texlive/      texlive2008/

Interesting.  Comparing the traces I find that at _path_files:238 with
globcomplete, menu=yes is being set, and at _path_files:623 the value
of $compstate[pattern_match] is "*" so the code branches to line 667
instead of 629.  This sends us around the (for i in "$tmp1[@]"; do)
loop at line 673 a bunch of times, each time adding either "texlive"
or "texlive2008" as a completion with a different path tail as a hidden
suffix.  When we finally get to the end of _path_files at line 813,
$compstate[nmatches] is greater than zero so _path_files returns 1.

I'm not sure why an empty $compstate[pattern_match] means that the
function should behave as if NOT inserting the match into the command
line (see comments around lines 627 and 666), but that's what causes
the "correct" branch at 621-623.  It also seems to be the case that
xtrace output is omitting short-circuited branches of conditionals
when printing, which makes it hard to follow the and/or logic in the
trace.

-- 


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

* Re: globcomplete desctroys file completion
  2009-02-21 19:16 ` Bart Schaefer
@ 2009-02-22  0:57   ` Bart Schaefer
  2009-02-25 20:39     ` Peter Stephenson
  2009-02-22 20:36   ` Jörg Sommer
  1 sibling, 1 reply; 11+ messages in thread
From: Bart Schaefer @ 2009-02-22  0:57 UTC (permalink / raw)
  To: zsh-workers

On Feb 21, 11:16am, Bart Schaefer wrote:
}
} Interesting.  Comparing the traces I find that at _path_files:238 with
} globcomplete, menu=yes is being set, and at _path_files:623 the value
} of $compstate[pattern_match] is "*" so the code branches to line 667
} instead of 629.  This sends us around the (for i in "$tmp1[@]"; do)
} loop at line 673 a bunch of times, each time adding either "texlive"
} or "texlive2008" as a completion with a different path tail as a hidden
} suffix.

Fooling with this a bit more ... that loop looks like:

            for i in "$tmp1[@]"; do
	      tmpdisp=("${i%%/*}")
	      _list_files tmpdisp "$prepath$realpath$testpath"
	      compadd "$tmp4[@]" -s "/${i#*/}" $listopts - "$tmpdisp"
	    done

If I change line 674 to this:

              tmpdisp=($i)

then I get the same results with globcomplete set as without:

torch% setopt globcomplete 
torch% print Tmp/texlive/t
                        ^
                        cursor on this final slash

However, I suspect using $i there is only working in this specific
example and not in the general case.  The resulting compadd looks
like (line break added for readability):

    compadd -Qf -J -default- -J -default- -p Tmp/ -s '' -W Tmp/ \
     -M 'r:|/=* r:|=*' -s /temp - texlive/temp

(and similarly for all the other files in texlive and texlive2008).
That looks wrong to me in any case because the description of -W
indicates that it's used "together with" -p ... but also note that
we have two -s options, so something is rotten in tmp4 at line 668,
is it not?

(However, in the NO_globcomplete case, the compadd still has identical
arguments to the -p and -W options, so maybe that's a red herring and/or
the -W doc is imprecise.)


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

* Re: globcomplete desctroys file completion
  2009-02-21 19:16 ` Bart Schaefer
  2009-02-22  0:57   ` Bart Schaefer
@ 2009-02-22 20:36   ` Jörg Sommer
  2009-02-23  2:25     ` Bart Schaefer
  1 sibling, 1 reply; 11+ messages in thread
From: Jörg Sommer @ 2009-02-22 20:36 UTC (permalink / raw)
  To: zsh-workers

Hallo Bart,

Bart Schaefer <schaefer@brasslantern.com> wrote:
> On Feb 21,  2:18pm, Jorg wrote:
>}
>} when I set the option globcomplete, file completion doesn't work in all
>} cases.
>
> Based just on the _complete_debug output you sent, I'd say that the
> correct thing is happening WITH globcomplete, and without it you're
> somehow getting disambiguation that you shouldn't.
>
> For example, T*/t*/t* should among other files match Tmp/texlive/tlpkg
> and Tmp/texlive2008/tlpkg, but when you complete without globcomplete
> you're offered Tmp/texlive/te as a unique prefix.  How can that be
> correct?

Because the cursor is placed after texlive and I can select between
texlive and texlive2008 before continuing.

>} % zsh -f
>} ibook% autoload -Uz compinit
>} ibook% compinit
>
> You might try using "compinit -D" here when testing, to avoid reading
> an existing zcompdump file.  Probably doesn't matter here.

Thanks for the hint.

>} ibook% print -l T/t/t<TAB>          --> Tmp/texlive/te
>} ibook% setopt globcomplete 
>} ibook% print -l T/t/t<TAB>          --> nothing, failure
>} % zsh --version
>} zsh 4.3.9 (powerpc-unknown-linux-gnu)
>} 
>} A log for this is available at
>} http://alioth.debian.org/~jo-guest/zsh5117print1
>
> What is helpful in these cases is TWO logs, e.g. one with globcomplete
> set and the other with globcomplete NOT set, for comparison.

I've put these two logs at
http://alioth.debian.org/~jo-guest/zsh-with-globcomplete
http://alioth.debian.org/~jo-guest/zsh-without-globcomplete

Can I somehow else help you?

Bye, Jörg.
-- 
Wer A sagt, muß nicht B sagen. Er kann auch erkennen, daß A falsch war.
      	    	      	       	       	    	(Erich Kästner)


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

* Re: globcomplete desctroys file completion
  2009-02-22 20:36   ` Jörg Sommer
@ 2009-02-23  2:25     ` Bart Schaefer
  0 siblings, 0 replies; 11+ messages in thread
From: Bart Schaefer @ 2009-02-23  2:25 UTC (permalink / raw)
  To: zsh-workers

On Feb 22,  8:36pm, ( Text in unknown character set UTF-8 not shown )  wrote:
} Subject: Re: globcomplete desctroys file completion
}
} Bart Schaefer <schaefer@brasslantern.com> wrote:
} > For example, T*/t*/t* should among other files match Tmp/texlive/tlpkg
} > and Tmp/texlive2008/tlpkg, but when you complete without globcomplete
} > you're offered Tmp/texlive/te as a unique prefix.  How can that be
} > correct?
} 
} Because the cursor is placed after texlive and I can select between
} texlive and texlive2008 before continuing.

That makes the cursor placement correct but the trailing "e" still not.
However, I think that's unrelated, so let's ignore it.
 
} I've put these two logs at
} http://alioth.debian.org/~jo-guest/zsh-with-globcomplete
} http://alioth.debian.org/~jo-guest/zsh-without-globcomplete

The line numbers of the functions differ a bit from what I've got out
of the latest CVS, but the problem appears to be the same as what I
outlined in my last two messages.

If I simply comment out the extra -s option in the tmp4 assignment,
then I get the correct completion but the wrong cursor placement:

torch% print T/t/t<TAB>
torch% print Tmp/texlive/t

Cursor is at the end, rather than on the last slash, so if I proceed
into menu completion with another TAB I'm not offered texlive2008 as
a possibility.  Of course that happens withOUT globcomplete as well,
but at least in that case the cursor is at the potential point of
ambiguity.

So there's something wrong with that "tmpdisp" branch of _path_files,
but I'm not yet seeing what.


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

* Re: globcomplete desctroys file completion
  2009-02-22  0:57   ` Bart Schaefer
@ 2009-02-25 20:39     ` Peter Stephenson
  2009-02-25 20:48       ` Peter Stephenson
  0 siblings, 1 reply; 11+ messages in thread
From: Peter Stephenson @ 2009-02-25 20:39 UTC (permalink / raw)
  To: zsh-workers

On Sat, 21 Feb 2009 16:57:45 -0800
Bart Schaefer <schaefer@brasslantern.com> wrote:
> However, I suspect using $i there is only working in this specific
> example and not in the general case.  The resulting compadd looks
> like (line break added for readability):
> 
>     compadd -Qf -J -default- -J -default- -p Tmp/ -s '' -W Tmp/ \
>      -M 'r:|/=* r:|=*' -s /temp - texlive/temp
> 
> (and similarly for all the other files in texlive and texlive2008).
> That looks wrong to me in any case because the description of -W
> indicates that it's used "together with" -p ... but also note that
> we have two -s options, so something is rotten in tmp4 at line 668,
> is it not?

Indeed, comparing with the code in 4.2 (before the $Uopt stuff was added)
suggests it should probably be something like the following anyway,
though I don't have the set-up to test whether it helps here.

Index: Completion/Unix/Type/_path_files
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Type/_path_files,v
retrieving revision 1.42
diff -u -r1.42 _path_files
--- Completion/Unix/Type/_path_files	29 Jan 2009 17:58:30 -0000	1.42
+++ Completion/Unix/Type/_path_files	25 Feb 2009 20:37:16 -0000
@@ -665,10 +665,16 @@
       else
 	# We are inserting the match into the command line.
         if [[ "$tmp3" = */* ]]; then
-	  tmp4=( $Uopt -Qf "$mopts[@]" -p "${Uopt:+$IPREFIX}$linepath$tmp2"
-	         -s "${Uopt:+$ISUFFIX}"
+	  if [[ -n $Uopt ]]; then
+	    tmp4=( -Qf "$mopts[@]" -p "$IPREFIX$linepath$tmp2"
+	         -s "$ISUFFIX"
 	         -W "$prepath$realpath$testpath"
 	         "$pfxsfx[@]" $Mopts )
+	  else
+	    tmp4=( -Qf "$mopts[@]" -p "$linepath$tmp2"
+	      -W "$prepath$realpath$testpath"
+	      "$pfxsfx[@]" $Mopts )
+	  fi
 	  if [[ -z "$listsfx" ]]; then
             for i in "$tmp1[@]"; do
 	      tmpdisp=("${i%%/*}")


-- 
Peter Stephenson <p.w.stephenson@ntlworld.com>
Web page now at http://homepage.ntlworld.com/p.w.stephenson/


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

* Re: globcomplete desctroys file completion
  2009-02-25 20:39     ` Peter Stephenson
@ 2009-02-25 20:48       ` Peter Stephenson
  2009-02-26  0:24         ` Jörg Sommer
  2009-02-26  1:30         ` Bart Schaefer
  0 siblings, 2 replies; 11+ messages in thread
From: Peter Stephenson @ 2009-02-25 20:48 UTC (permalink / raw)
  To: zsh-workers

On Wed, 25 Feb 2009 20:39:49 +0000
Peter Stephenson <p.w.stephenson@ntlworld.com> wrote:
> Indeed, comparing with the code in 4.2 (before the $Uopt stuff was added)
> suggests it should probably be something like the following anyway,
> though I don't have the set-up to test whether it helps here.

Scratch that, it's simpler---we never want two -s's, we just want to
ensure $ISUFFIX is there when needed.  This time I do have some evidence
this is doing better things with GLOBCOMPLETE set than previously.

Index: Completion/Unix/Type/_path_files
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Type/_path_files,v
retrieving revision 1.42
diff -u -r1.42 _path_files
--- Completion/Unix/Type/_path_files	29 Jan 2009 17:58:30 -0000	1.42
+++ Completion/Unix/Type/_path_files	25 Feb 2009 20:46:01 -0000
@@ -666,14 +666,13 @@
 	# We are inserting the match into the command line.
         if [[ "$tmp3" = */* ]]; then
 	  tmp4=( $Uopt -Qf "$mopts[@]" -p "${Uopt:+$IPREFIX}$linepath$tmp2"
-	         -s "${Uopt:+$ISUFFIX}"
 	         -W "$prepath$realpath$testpath"
 	         "$pfxsfx[@]" $Mopts )
 	  if [[ -z "$listsfx" ]]; then
             for i in "$tmp1[@]"; do
 	      tmpdisp=("${i%%/*}")
 	      _list_files tmpdisp "$prepath$realpath$testpath"
-	      compadd "$tmp4[@]" -s "/${i#*/}" $listopts - "$tmpdisp"
+	      compadd "$tmp4[@]" -s "/${i#*/}${Uopt:+$ISUFFIX}" $listopts - "$tmpdisp"
 	    done
           else
             [[ -n "$compstate[pattern_match]" ]] && SUFFIX="${SUFFIX:s./.*/}*"


-- 
Peter Stephenson <p.w.stephenson@ntlworld.com>
Web page now at http://homepage.ntlworld.com/p.w.stephenson/


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

* Re: globcomplete desctroys file completion
  2009-02-25 20:48       ` Peter Stephenson
@ 2009-02-26  0:24         ` Jörg Sommer
  2009-02-26  1:30         ` Bart Schaefer
  1 sibling, 0 replies; 11+ messages in thread
From: Jörg Sommer @ 2009-02-26  0:24 UTC (permalink / raw)
  To: zsh-workers

Hallo Peter,

Peter Stephenson <p.w.stephenson@ntlworld.com> wrote:
> On Wed, 25 Feb 2009 20:39:49 +0000
> Peter Stephenson <p.w.stephenson@ntlworld.com> wrote:
>> Indeed, comparing with the code in 4.2 (before the $Uopt stuff was added)
>> suggests it should probably be something like the following anyway,
>> though I don't have the set-up to test whether it helps here.
>
> Scratch that, it's simpler---we never want two -s's, we just want to
> ensure $ISUFFIX is there when needed.  This time I do have some evidence
> this is doing better things with GLOBCOMPLETE set than previously.

Now, there's a completion and looks good:

% print -l g*/d*/s*
git/debian/slrn
git/debian/slrn_1.0.0~pre2.orig.tar.gz
git/deborphan/src

(with globcomplete)

% print -l g/d/s<1st TAB>

% print -l git/deb/s<2nd TAB>
                    ^ cursor is here

% print -l git/deb/s<3rd TAB>
default
debian/     deborphan/

% print -l git/debian/slrn/<4th TAB>
default
debian/     deborphan/

% print -l git/debian/slrn_1.0.0\~pre2.orig.tar.gz<5th TAB>
default
debian/     deborphan/

% print -l git/deborphan/src/<6' TAB>
default
debian/     deborphan/

% print -l git/debian/slrn/
default
debian/     deborphan/

Except from that the menu list doesn't match the possible completions,
the completion offers all options. This fixes my problem. Thanks.

Schöne Grüße, Jörg.
-- 
IRC: Der [Prof. Andreas Pfitzmann, TU Dresden] hat gerade vorgeschlagen, sie
  sollen doch statt Trojanern die elektromagnetische Abstrahlung nutzen. Das
  sei nicht massenfähig, ginge ohne Eingriff ins System, sei zielgerichtet,
  und, der Hammer, das funktioniere ja bei Wahlcomputern schon sehr gut.


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

* Re: globcomplete desctroys file completion
  2009-02-25 20:48       ` Peter Stephenson
  2009-02-26  0:24         ` Jörg Sommer
@ 2009-02-26  1:30         ` Bart Schaefer
  2009-02-26  4:12           ` Bart Schaefer
  1 sibling, 1 reply; 11+ messages in thread
From: Bart Schaefer @ 2009-02-26  1:30 UTC (permalink / raw)
  To: zsh-workers

On Feb 25,  8:48pm, Peter Stephenson wrote:
} Subject: Re: globcomplete desctroys file completion
}
} Scratch that, it's simpler---we never want two -s's, we just want to
} ensure $ISUFFIX is there when needed.  This time I do have some evidence
} this is doing better things with GLOBCOMPLETE set than previously.

This is better, and in fact was something I was about to suggest, but
the cursor is still left in the wrong place when a component in the
middle of the path is ambiguous.

schaefer<505> print T/t/t<TAB>
schaefer<505> print Tmp/texlive/t

Cursor should be on the rightmost slash, because "texlive" could also
be completed to "texlive2008", but instead cursor is at the end.

Take a look at this:

schaefer<506> print T*/t*/t<TAB>
schaefer<506> print Tmp/texlive/texmf-local/
Completing default
texlive/      texlive/      texlive/      texlive2008/
texlive/      texlive/      texlive2008/  texlive2008/
texlive/      texlive/      texlive2008/  texlive2008/
texlive/      texlive/      texlive2008/  texlive2008/

(menu-select highlight is on the first "texlive/").  If I left-arrow
through the menu, I get e.g.

schaefer<506> print Tmp/texlive/texmf-config/

schaefer<506> print Tmp/texlive/texmf-var/

schaefer<506> print Tmp/texlive2008/texmf-dist/

This leads me to believe that really the second -s should have been
a -S (a suffix, not a hidden suffix) and the first -s in tmp4 was in
fact correct.   Making that change produces still better results:

schaefer<507> print T/t/t<TAB>
schaefer<507> print Tmp/texlive/t
Completing corrections
texlive/      texlive2008/
Completing original
T/t/t

However, that does not produce better cursor placement, so I remain
puzzled/unconvinced.

Also, any comment on the overlapping -W and -p values?  What exactly
does the doc mean when it says that they are used "together"?


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

* Re: globcomplete desctroys file completion
  2009-02-26  1:30         ` Bart Schaefer
@ 2009-02-26  4:12           ` Bart Schaefer
  2009-02-26 10:49             ` Peter Stephenson
  0 siblings, 1 reply; 11+ messages in thread
From: Bart Schaefer @ 2009-02-26  4:12 UTC (permalink / raw)
  To: zsh-workers

On Feb 25,  5:30pm, Bart Schaefer wrote:
}
} Take a look at this:
} 
} schaefer<506> print T*/t*/t<TAB>
} schaefer<506> print Tmp/texlive/texmf-local/
} Completing default
} texlive/      texlive/      texlive/      texlive2008/
} texlive/      texlive/      texlive2008/  texlive2008/
} texlive/      texlive/      texlive2008/  texlive2008/
} texlive/      texlive/      texlive2008/  texlive2008/
} 
} (menu-select highlight is on the first "texlive/").  If I left-arrow

(That should have said "right-arrow")

} through the menu, I get e.g.
} 
} schaefer<506> print Tmp/texlive/texmf-config/
} 
} schaefer<506> print Tmp/texlive/texmf-var/
} 
} schaefer<506> print Tmp/texlive2008/texmf-dist/
} 
} This leads me to believe that really the second -s should have been
} a -S (a suffix, not a hidden suffix) and the first -s in tmp4 was in
} fact correct.

No, that's not right either.  At this point the following is the only
thing I've tried that gets me the same behavior (including proper cursor
placement) both with and without globcomplete set.  This bothers me,
because I don't understand why globcomplete sends us through this branch
of the code in the first place.  I mean, I follow the conditional logic
in _path_files that gets it here, but I don't know why the conditionals
are written the way they are.

--- ../current/Completion/Unix/Type/_path_files	2009-02-25 17:03:56.000000000 -0800
+++ Completion/Unix/Type/_path_files	2009-02-25 20:03:30.000000000 -0800
@@ -670,9 +670,9 @@
 	         "$pfxsfx[@]" $Mopts )
 	  if [[ -z "$listsfx" ]]; then
             for i in "$tmp1[@]"; do
-	      tmpdisp=("${i%%/*}")
+	      tmpdisp=("$i")
 	      _list_files tmpdisp "$prepath$realpath$testpath"
-	      compadd "$tmp4[@]" -s "/${i#*/}${Uopt:+$ISUFFIX}" $listopts - "$tmpdisp"
+	      compadd "$tmp4[@]" -s "${Uopt:+$ISUFFIX}" $listopts - "$tmpdisp"
 	    done
           else
             [[ -n "$compstate[pattern_match]" ]] && SUFFIX="${SUFFIX:s./.*/}*"


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

* Re: globcomplete desctroys file completion
  2009-02-26  4:12           ` Bart Schaefer
@ 2009-02-26 10:49             ` Peter Stephenson
  0 siblings, 0 replies; 11+ messages in thread
From: Peter Stephenson @ 2009-02-26 10:49 UTC (permalink / raw)
  To: zsh-workers

On Wed, 25 Feb 2009 20:12:36 -0800
Bart Schaefer <schaefer@brasslantern.com> wrote:
> No, that's not right either.  At this point the following is the only
> thing I've tried that gets me the same behavior (including proper cursor
> placement) both with and without globcomplete set.  This bothers me,
> because I don't understand why globcomplete sends us through this branch
> of the code in the first place.  I mean, I follow the conditional logic
> in _path_files that gets it here, but I don't know why the conditionals
> are written the way they are.

The branching in _path_files is from the deepest levels of the dungeons,
where the creatures live that can destroy even advanced characters with one
look.  I should just commit it, award yourself +1 charisma, and look away.

-- 
Peter Stephenson <pws@csr.com>                  Software Engineer
CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
Cambridge, CB4 0WZ, UK                          Tel: +44 (0)1223 692070


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

end of thread, other threads:[~2009-02-26 10:50 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-02-21 14:18 globcomplete desctroys file completion Jörg Sommer
2009-02-21 19:16 ` Bart Schaefer
2009-02-22  0:57   ` Bart Schaefer
2009-02-25 20:39     ` Peter Stephenson
2009-02-25 20:48       ` Peter Stephenson
2009-02-26  0:24         ` Jörg Sommer
2009-02-26  1:30         ` Bart Schaefer
2009-02-26  4:12           ` Bart Schaefer
2009-02-26 10:49             ` Peter Stephenson
2009-02-22 20:36   ` Jörg Sommer
2009-02-23  2:25     ` Bart Schaefer

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

	https://git.vuxu.org/mirror/zsh/

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 NNTP newsgroup(s).