summary refs log tree commit diff
path: root/Completion/Unix/Command
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command')
-rw-r--r--Completion/Unix/Command/_chown1
-rw-r--r--Completion/Unix/Command/_sysctl24
2 files changed, 13 insertions, 12 deletions
diff --git a/Completion/Unix/Command/_chown b/Completion/Unix/Command/_chown
index 34b31f6c9..f5ff8f45e 100644
--- a/Completion/Unix/Command/_chown
+++ b/Completion/Unix/Command/_chown
@@ -28,6 +28,7 @@ else
   [[ -n $grp ]] && grp="${${(M)grp:#[0-9]#}:-.$grp.}"
   req=( ${usr:+\^u$usr} ${grp:+\^g$grp} )
   (( EUID )) && req=( u$EUID$^req )
+  req=( -$^req )
 
   _files -g "*(${(j:,:)req})" && return 0
 fi
diff --git a/Completion/Unix/Command/_sysctl b/Completion/Unix/Command/_sysctl
index 1ac0394e7..bda6a5ac2 100644
--- a/Completion/Unix/Command/_sysctl
+++ b/Completion/Unix/Command/_sysctl
@@ -1,18 +1,7 @@
 #compdef sysctl
 
 case $OSTYPE in
-  freebsd[0-4].*)
-    : ${(A)_cache_sysctlvars:=${${$(sysctl -A):#[^a-z]*}%%:*}}
-    _arguments -s -A "-*" \
-      '(-w -X *)-a[list all]' \
-      '(-w -X *)-A[show all opaques (values suppressed)]' \
-      '(-w)-b[binary output]' \
-      '(-w)-n[show only variable values]' \
-      '(-a -A -b -n -X)-w[write mode]' \
-      '(-a -A -w *)-X[show all opaques (entire values)]' \
-      '(-a -A -X)*:sysctl variable:_multi_parts ${words[(r)-w]:+-S=} -i . _cache_sysctlvars'
-  ;;
-  freebsd[5-9].*)
+  freebsd[5-9].*|freebsd4.[4-9]*)
     local -a sysctlvars
     sysctlvars=( $(sysctl -aN) )
     _arguments -s -A "-*" \
@@ -24,6 +13,17 @@ case $OSTYPE in
       '(-o)-x[show opaques as well (entire values)]' \
       '(-a)*:sysctl variable:_multi_parts -i . sysctlvars'
   ;;
+  freebsd[0-4].*)
+    : ${(A)_cache_sysctlvars:=${${$(sysctl -A):#[^a-z]*}%%:*}}
+    _arguments -s -A "-*" \
+      '(-w -X *)-a[list all]' \
+      '(-w -X *)-A[show all opaques (values suppressed)]' \
+      '(-w)-b[binary output]' \
+      '(-w)-n[show only variable values]' \
+      '(-a -A -b -n -X)-w[write mode]' \
+      '(-a -A -w *)-X[show all opaques (entire values)]' \
+      '(-a -A -X)*:sysctl variable:_multi_parts ${words[(r)-w]:+-S=} -i . _cache_sysctlvars'
+  ;;
   linux*)
     _arguments -A "-*" \
       '-n[show only variable values]' \