From 9d43d061e186b91a3b3374ea983a56aa699211a5 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 16 Feb 2007 15:02:03 +0000 Subject: 23182: _arguments problem with --with-foo[=BAR] specifiers --- Completion/Base/Utility/_arguments | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'Completion') diff --git a/Completion/Base/Utility/_arguments b/Completion/Base/Utility/_arguments index dacc19890..d1aafd79a 100644 --- a/Completion/Base/Utility/_arguments +++ b/Completion/Base/Utility/_arguments @@ -217,7 +217,11 @@ if (( long )); then else odescr= fi - opt2=${${opt%%\[\=*}//[^a-zA-Z0-9-]}=${dir}${odescr} + if [[ $opt = (#b)(*)\[\=* ]]; then + opt2=${${match[1]}//[^a-zA-Z0-9-]}=-${dir}${odescr} + else + opt2=${${opt}//[^a-zA-Z0-9-]}=${dir}${odescr} + fi if [[ "$descr" = :\=* ]]; then cache+=( "${opt2}::${(L)${opt%\]}#*\=}: " ) elif [[ "$descr" = ::* ]]; then -- cgit 1.4.1