diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Completion/Base/Utility/_arguments | 4 | ||||
-rw-r--r-- | Completion/Unix/Command/_rsync | 2 |
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)' \ |