diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Completion/Unix/Command/_du | 10 |
2 files changed, 11 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index 033e0b020..68aa6ad25 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2011-01-06 Barton E. Schaefer <schaefer@zsh.org> + * 28579: Completion/Unix/Command/_du: propagate failure status + from _arguments so that _complete will try other completions. + * 28578 (plus test): Src/utils.c, Src/zsh.h, Test/B03print.ztst: fix handling of numeric escapes that expand to "%" in printf format strings, so they are not treated as format introducers. @@ -14049,5 +14052,5 @@ ***************************************************** * This is used by the shell to define $ZSH_PATCHLEVEL -* $Revision: 1.5169 $ +* $Revision: 1.5170 $ ***************************************************** 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]' |