about summary refs log tree commit diff
diff options
context:
space:
mode:
authorClint Adams <clint@users.sourceforge.net>2008-03-01 01:03:18 +0000
committerClint Adams <clint@users.sourceforge.net>2008-03-01 01:03:18 +0000
commit658deeb7e9df6a2093e8407c2bc02f44ffa3ef3e (patch)
treefce3f6f26904751b7f17cc9a16af59490537bace
parentbc45a1b9942ff8d12e77fc038c265b8debc1ea77 (diff)
downloadzsh-658deeb7e9df6a2093e8407c2bc02f44ffa3ef3e.tar.gz
zsh-658deeb7e9df6a2093e8407c2bc02f44ffa3ef3e.tar.xz
zsh-658deeb7e9df6a2093e8407c2bc02f44ffa3ef3e.zip
24632: fix remote ssh filename quoting.
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Command/_rsync6
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 761a758df..8b4698590 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-02-29  Clint Adams  <clint@zsh.org>
+
+	* 24632: Completion/Unix/Command/_rsync: fix remote ssh filename
+	quoting.
+
 2008-02-28  Peter Stephenson  <p.w.stephenson@ntlworld.com>
 
 	* 24627: Src/Zsh/complist.c: fix(?) crash when resizing window
diff --git a/Completion/Unix/Command/_rsync b/Completion/Unix/Command/_rsync
index b5da516e3..0a86acb7d 100644
--- a/Completion/Unix/Command/_rsync
+++ b/Completion/Unix/Command/_rsync
@@ -58,7 +58,11 @@ elif compset -P 'rsync://'; then
 elif compset -P 1 '*:'; then
 
   if zstyle -T ":completion:${curcontext}:files" remote-access; then
-    remfiles=(${(M)${(f)"$(_call_program files ssh -a -x ${IPREFIX%:} ls -d1FL "${(Q)PREFIX%%[^./][^/]#}\*" 2>/dev/null)"}%%[^/]#(|/)})
+    if [[ -z $QIPREFIX ]]
+    then rempat="${PREFIX%%[^./][^/]#}\*"
+    else rempat="${(q)PREFIX%%[^./][^/]#}\*"
+    fi
+    remfiles=(${(M)${(f)"$(_call_program files ssh -a -x ${IPREFIX%:} ls -d1FL "$rempat" 2>/dev/null)"}%%[^/]#(|/)})
     compset -P '*/'
     compset -S '/*' || suf='remote file'