about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2009-04-16 10:00:26 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2009-04-16 10:00:26 +0000
commit29684e7c81ae85ce29f58a707b6339b853565dc6 (patch)
treeecf2ecb0db1aa73c15832300fe422f449ea1791c
parent4fdb6c2352f84c79d3886cb090f252d4ada9a3dd (diff)
downloadzsh-29684e7c81ae85ce29f58a707b6339b853565dc6.tar.gz
zsh-29684e7c81ae85ce29f58a707b6339b853565dc6.tar.xz
zsh-29684e7c81ae85ce29f58a707b6339b853565dc6.zip
26829: Alexey I. Froloff: _rsync miscounts fields
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Command/_rsync7
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 43cc24ecc..10eed973e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2009-04-16  Peter Stephenson  <pws@csr.com>
 
+	* Alexey I. Froloff: 26829: Completion/Unix/Command/_rsync:
+	miscounting fields in output.
+
 	* Tomasz Pala: users/14031: Completion/Linux/Command/_ipset:
 	updates.
 
@@ -11544,5 +11547,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.4647 $
+* $Revision: 1.4648 $
 *****************************************************
diff --git a/Completion/Unix/Command/_rsync b/Completion/Unix/Command/_rsync
index 34d4260b3..c26c05f14 100644
--- a/Completion/Unix/Command/_rsync
+++ b/Completion/Unix/Command/_rsync
@@ -31,11 +31,14 @@ if compset -P '*::*/' || compset -P 'rsync://*/*/'; then
   remdispf=(${remfiles:#d*})
   remdispd=(${(M)remfiles:#d*})
 
+  # $remdisp[fd] format:
+  # attrs  size  date  time  name
+
   _wanted files expl 'remote file or directory' \
-      compadd -d remdispf ${remdispf##* }
+      compadd -d remdispf ${${${${remdispf##[^ ]## ##}##[^ ]## ##}##[^ ]## ##}##[^ ]## ##}
 
   _wanted files expl 'remote file or directory' \
-      compadd -S/ -d remdispd ${remdispd##* }
+      compadd -S/ -d remdispd ${${${${remdispd##[^ ]## ##}##[^ ]## ##}##[^ ]## ##}##[^ ]## ##}
 
 elif compset -P 1 '*::' || compset -P 1 'rsync://*/'; then