summaryrefslogtreecommitdiff
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.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'