summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Command/_sysctl14
2 files changed, 12 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 0cd1900fc..9318562a9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-11-26  Peter Stephenson  <p.stephenson@samsung.com>
+
+	* Matthew Martin: 37100: Completion/Unix/Command/_sysctl:
+	updates.
+
 2015-11-25  Peter Stephenson  <p.w.stephenson@ntlworld.com>
 
 	* unposted: Config/version.mk: 5.1.1-test-2
diff --git a/Completion/Unix/Command/_sysctl b/Completion/Unix/Command/_sysctl
index ff3312fac..9d9e8b968 100644
--- a/Completion/Unix/Command/_sysctl
+++ b/Completion/Unix/Command/_sysctl
@@ -34,13 +34,13 @@ case $OSTYPE in
       '(-n -p -a -A)*:sysctl variable:_files -W /proc/sys'
   ;;
   openbsd*)
-    : ${(A)_cache_sysctlvars:=${${(f)"$(sysctl -a)"}%% *}}
-    _arguments -s -A "-*" \
-      '(-w -A *)-a[list all string and integer variables]' \
-      '(-w -a *)-A[list all known variables]' \
-      '(-w)-n[show only values]' \
-      '(-a -A -n)-w[write variable]' \
-      '(-a -A)*:sysctl variable:_multi_parts ${words[(r)-w]:+-S=} -i . _cache_sysctlvars'
+    : ${(A)_cache_sysctlvars:=${${${(f)"$(sysctl -a 2>/dev/null)"}%%=*}:# *}}
+    _arguments -S -s -A "-*" \
+      '(-A -q *)-a[list all string and integer variables]' \
+      '(-a -q *)-A[list all known variables]' \
+      '-n[show only values]' \
+      '(-a -A)-q[suppress all output when setting a variable]' \
+      '(-a -A)*:sysctl variable:_multi_parts -i -S = -q . _cache_sysctlvars'
   ;;
   *)
     _default