Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

[PATCH] _find: Fix return value



I noticed that _find wasn't respecting my matcher styles (e.g., `find /a<TAB>`
wouldn't match /Applications), and it looks like it's because it erroneously
returns with 1 most of the time

dana


diff --git a/Completion/Unix/Command/_find b/Completion/Unix/Command/_find
index edd46ac1c..3b9150b17 100644
--- a/Completion/Unix/Command/_find
+++ b/Completion/Unix/Command/_find
@@ -1,6 +1,6 @@
 #compdef find gfind
 
-local curcontext="$curcontext" state_descr variant default
+local curcontext="$curcontext" state_descr variant default ret=1
 local -a state line args alts disp smatch
 
 _pick_variant -r variant gnu=GNU $OSTYPE -version
@@ -147,7 +147,8 @@ _arguments -C $args \
   '*-user:user:_users' \
   '*-xdev' \
   '*-a' '*-o' \
-  '(-D -E -H -L -O -P -f -s -x --help --version)*:directory:_files -/'
+  '(-D -E -H -L -O -P -f -s -x --help --version)*:directory:_files -/' \
+&& ret=0
 
 if [[ $state = times ]]; then
   if ! compset -P '[+-]' || [[ -prefix '[0-9]' ]]; then
@@ -164,5 +165,7 @@ if [[ $state = times ]]; then
     alts=( "senses:sense${default}:compadd -V times -S '' -d disp -a smatch" )
   fi
   alts+=( "times:${state_descr}:_dates -f d" )
-  _alternative $alts
+  _alternative $alts && ret=0
 fi
+
+return ret



Messages sorted by: Reverse Date, Date, Thread, Author