about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-09-15 14:47:32 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-09-15 14:47:32 +0000
commit75d4a97a7b93683be18ae866347d7d312acda7dd (patch)
tree4107f6d766b07eeee07bb00dbcfcb2e4e44a711e
parent9e107157c52570953150ad7ef71eb31d583b00e7 (diff)
downloadzsh-75d4a97a7b93683be18ae866347d7d312acda7dd.tar.gz
zsh-75d4a97a7b93683be18ae866347d7d312acda7dd.tar.xz
zsh-75d4a97a7b93683be18ae866347d7d312acda7dd.zip
zsh-workers/7850
-rw-r--r--Completion/Base/_arguments10
1 files changed, 5 insertions, 5 deletions
diff --git a/Completion/Base/_arguments b/Completion/Base/_arguments
index df01ba6a4..216d3ae02 100644
--- a/Completion/Base/_arguments
+++ b/Completion/Base/_arguments
@@ -848,10 +848,10 @@ while true; do
         compadd "$expl[@]" -Q -M 'r:|[_-]=* r:|=*' - "${PREFIX}" && ret=0
       fi
     else
-      tmp1=( "${(k)opts[@]}" "${(@k)odopts[(I)*[^=]]}" )
-      tmp1=( "${(@M)odescr:#(${(kj:|:)~tmp1}):*}" )
+      tmp1=( "${(@k)opts}" "${(@k)odopts[(I)*[^=]]}" )
+      tmp1=( "${(@M)odescr:#(${(j:|:)~tmp1}):*}" )
       tmp2=( "${(@M)odescr:#(${(kj:|:)~dopts}):*}" )
-      tmp3=( "${(@M)odescr:#(${(kj:|:)~odopts[(I)*=]}):*}" )
+      tmp3=( "${(@M)odescr:#(${(kj:|:)~odopts[(I)*=]%=}):*}" )
       _describe -o -c "$cmd" option \
         tmp1 -Q -M 'r:|[_-]=* r:|=*' -- \
         tmp2 -QS '' -M 'r:|[_-]=* r:|=*' -- \
@@ -860,8 +860,8 @@ while true; do
   fi
 
   if [[ nm -eq compstate[nmatches] && 
-        ( -z "$single" ||
-          ( $#_args_cache_long -ne 0 && "$PREFIX" = --*=* ) ) ]]; then
+        ( ( -z "$single" && "$PREFIX" = [-+]*\=* ) ||
+          ( $#_args_cache_long -ne 0 && "$PREFIX" = --*\=* ) ) ]]; then
     tmp=( "${(@Mk)odopts:#[^:]#\=}" )
     prefix="${PREFIX#*\=}"
     suffix="$SUFFIX"