diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2002-05-21 07:44:57 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2002-05-21 07:44:57 +0000 |
commit | ba168b43dab3102891839a997ef6a2878c2738e5 (patch) | |
tree | 4fa5751215184678f99cc4af3ab9de8226ded79c /Completion/Base/Utility/_arguments | |
parent | d4ec8d06bf619eccd92ed8ca0f388ab9ea2e4189 (diff) | |
download | zsh-ba168b43dab3102891839a997ef6a2878c2738e5.tar.gz zsh-ba168b43dab3102891839a997ef6a2878c2738e5.tar.xz zsh-ba168b43dab3102891839a997ef6a2878c2738e5.zip |
fix removal of automatically added specs (from the -- option) for which a user-defined one is present (17191)
Diffstat (limited to 'Completion/Base/Utility/_arguments')
-rw-r--r-- | Completion/Base/Utility/_arguments | 4 |
1 files changed, 2 insertions, 2 deletions
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[@]" ) |