zsh-workers
 help / color / mirror / code / Atom feed
From: Peter Stephenson <p.w.stephenson@ntlworld.com>
To: zsh-workers@sunsite.dk
Subject: Re: globcomplete desctroys file completion
Date: Wed, 25 Feb 2009 20:39:49 +0000	[thread overview]
Message-ID: <20090225203949.5e203b85@pws-pc> (raw)
In-Reply-To: <090221165745.ZM13030@torch.brasslantern.com>

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/


  reply	other threads:[~2009-02-25 20:40 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-21 14:18 Jörg Sommer
2009-02-21 19:16 ` Bart Schaefer
2009-02-22  0:57   ` Bart Schaefer
2009-02-25 20:39     ` Peter Stephenson [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090225203949.5e203b85@pws-pc \
    --to=p.w.stephenson@ntlworld.com \
    --cc=zsh-workers@sunsite.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).