Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: "pws non-canonical hack" problems



On Sat, 23 Aug 2008 07:55:49 -0700
Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx> wrote:
> On Aug 23, 11:24am, Alexey I. Froloff wrote:
> }
> } _path_files:
> } 377       # pws non-canonical hack which seems to work so far...
> } 378       # if we didn't match by globbing, check that there is
> } 379       # something to match by explicit name.  This is for
> } 380       # `clever' filing systems where names pop into existence
> } 381       # when referenced.
> } 382       if (( ! $#tmp1 )); then
> } 383           for tmp3 in "$tmp2[@]"; do
> } 384               if [[ -n $tmp3 && $tmp3 != */ ]]; then
> } 385                   tmp3+=/
> } 386               fi
> } 387               if [[ -e "$tmp3${(Q)PREFIX}${(Q)SUFFIX}" ]] then
> } 388                   tmp1+=("$tmp3${(Q)PREFIX}${(Q)SUFFIX}")
> } 389               fi
> } 390           done
> } 391       fi
> } 
> } When I completing directory, sometimes file is being completed.
> 
> The problem is that this code should not unconditionally append something
> to tmp1.  It has to test again (probably by using some variant of the call
> to compfiles that appears 20 or so lines above) that some new file really
> was created that matches the qualifiers in the generated glob pattern.

Er, isn't that what the -e test does?  What I think you mean is there
may be options to compfiles that don't get taken account of at this point.

Unfortunately, the file completion code was never very intelligible and
there are way too many cases.  If anyone can come up with a way of
limiting this test in the right way, great.

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



Messages sorted by: Reverse Date, Date, Thread, Author