summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Wischnowsky <wischnow@users.sourceforge.net>2002-05-21 07:44:57 +0000
committerSven Wischnowsky <wischnow@users.sourceforge.net>2002-05-21 07:44:57 +0000
commitba168b43dab3102891839a997ef6a2878c2738e5 (patch)
tree4fa5751215184678f99cc4af3ab9de8226ded79c
parentd4ec8d06bf619eccd92ed8ca0f388ab9ea2e4189 (diff)
downloadzsh-ba168b43dab3102891839a997ef6a2878c2738e5.tar.gz
zsh-ba168b43dab3102891839a997ef6a2878c2738e5.zip
fix removal of automatically added specs (from the -- option) for which a user-defined one is present (17191)
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Base/Utility/_arguments4
-rw-r--r--Completion/Unix/Command/_rsync2
3 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index eb19fde40..d435533dd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2002-05-21 Sven Wischnowsky <wischnow@zsh.org>
+ * 17191: Completion/Base/Utility/_arguments,
+ Completion/Unix/Command/_rsync: fix removal of automatically
+ added specs (from the -- option) for which a user-defined one
+ is present
+
* 17190: Src/Zle/computil.c: avoid printing in the last screen
column when preparing a completion listing with compdescribe
diff --git a/Completion/Base/Utility/_arguments b/Completion/Base/Utility/_arguments
index 0cfc60b54..b60e76342 100644
--- a/Completion/Base/Utility/_arguments
+++ b/Completion/Base/Utility/_arguments
@@ -74,11 +74,11 @@ if (( long )); then
# Remove options also described by user-defined specs.
tmp=()
- for opt in "${(@)lopts:#--}"; do
+ for opt in "${(@)${(@)lopts:#--}%%\=*}"; do
# Using (( ... )) gives a parse error.
- let "$tmpargv[(I)(|\([^\)]#\))(|\*)${opt}(|[-+=])(|\[*\])(|:*)]" ||
+ let "$tmpargv[(I)(|\([^\)]#\))(|\*)${opt}(|[-+]|=(|-))(|\[*\])(|:*)]" ||
tmp=( "$tmp[@]" "$opt" )
done
lopts=( "$tmp[@]" )
diff --git a/Completion/Unix/Command/_rsync b/Completion/Unix/Command/_rsync
index d111b38ba..8120c10a9 100644
--- a/Completion/Unix/Command/_rsync
+++ b/Completion/Unix/Command/_rsync
@@ -121,7 +121,7 @@ _arguments -C -s \
'(--whole-file)-W[copy whole files]' \
'(-W)--whole-file[copy whole files]' \
'(--one-file-system)-x[do not cross filesystem boundaries]' \
- '(-x)-one-file-system[do not cross filesystem boundaries]' \
+ '(-x)--one-file-system[do not cross filesystem boundaries]' \
'(--block-size)-B[checksum blocking size]:block size:' \
'(-B)--block-size=[checksum blocking size]:block size:' \
'(--rsh)-e[rsh command]:remote command:(rsh ssh)' \