about summary refs log tree commit diff
path: root/Completion/Unix
diff options
context:
space:
mode:
authorBart Schaefer <barts@users.sourceforge.net>2011-01-06 16:57:40 +0000
committerBart Schaefer <barts@users.sourceforge.net>2011-01-06 16:57:40 +0000
commit5d2a7bc3bfeaddabed4afc919434d7f47c068fb7 (patch)
treebd5582b4813399b09f6bd3a9e9f613bfd8a772ef /Completion/Unix
parent87d6527628583c355883cc997d54d337abae2a7a (diff)
downloadzsh-5d2a7bc3bfeaddabed4afc919434d7f47c068fb7.tar.gz
zsh-5d2a7bc3bfeaddabed4afc919434d7f47c068fb7.tar.xz
zsh-5d2a7bc3bfeaddabed4afc919434d7f47c068fb7.zip
28579: propagate failure status from _arguments in _du so that _complete
will try other completions.
Diffstat (limited to 'Completion/Unix')
-rw-r--r--Completion/Unix/Command/_du10
1 files changed, 7 insertions, 3 deletions
diff --git a/Completion/Unix/Command/_du b/Completion/Unix/Command/_du
index 769c620de..9974d72e9 100644
--- a/Completion/Unix/Command/_du
+++ b/Completion/Unix/Command/_du
@@ -1,6 +1,8 @@
 #compdef du
 
 if _pick_variant gnu=Free\ Soft unix --version /dummy/no-such-file; then
+  local ret=1
+
   _arguments -s \
     '(-a --all -s --summarize)'{-a,--all}'[write counts for all files]' \
     '--apparent-size[print apparent sizes rather than disc usage]' \
@@ -27,22 +29,24 @@ if _pick_variant gnu=Free\ Soft unix --version /dummy/no-such-file; then
     '--time=-[show time of last modification of any file in the directory]:property:->time' \
     '(* -)--help[display help information]' \
     '(* -)--version[display version information]' \
-    '*:file:_files'
+    '*:file:_files' && ret=0
 
   case $state in
     (time)
       local -a property
       property=(atime access use ctime status)
-      _wanted property expl property compadd -a property
+      _wanted property expl property compadd -a property && ret=0
       ;;
     (timestyle)
       local -a style desc
       style=(full-iso long-iso iso +)
       desc=('full-iso' 'long-iso' 'iso' '+FORMAT like `date'\''')
-      _wanted -V style expl style compadd -d desc -a style
+      _wanted -V style expl style compadd -d desc -a style && ret=0
       ;;
   esac
 
+  return ret
+
 else
   # based on $OSTYPE = solaris2.8
   local xdev='[skip directories on different filesystems]'