about summary refs log tree commit diff
path: root/Functions/Misc
diff options
context:
space:
mode:
Diffstat (limited to 'Functions/Misc')
-rw-r--r--Functions/Misc/allopt16
1 files changed, 6 insertions, 10 deletions
diff --git a/Functions/Misc/allopt b/Functions/Misc/allopt
index 604e76198..0c521f391 100644
--- a/Functions/Misc/allopt
+++ b/Functions/Misc/allopt
@@ -8,17 +8,13 @@
 # Written by Sweth Chandramouli with hacks by Bart Schaefer.
 
 listalloptions () {
-   emulate -R zsh
-   builtin setopt localoptions kshoptionprint
-   local OPT_NAME OPT_PAIR OPT_VALUE
-   for OPT_PAIR in "${(f)$(builtin setopt)}" ; do
-      OPT_VALUE=${OPT_PAIR##* }
-      OPT_NAME=${OPT_PAIR%% *}
+   local OPT_NAME OPT_VALUE
+   builtin set -o | while read OPT_NAME OPT_VALUE ; do
       if [[ ${OPT_NAME#no} != ${OPT_NAME} ]] ; then
-         OPT_VALUE=${(L)${${OPT_VALUE:s/on/OFF}:s/off/on}} &&
-            OPT_NAME=${OPT_NAME#no};
-      fi;
-      echo ${(r:21:)OPT_NAME} ${OPT_VALUE}
+	 OPT_VALUE=${(L)${${OPT_VALUE:s/on/OFF}:s/off/on}}
+	 OPT_NAME=${OPT_NAME#no}
+      fi
+      echo "${(r:21:)OPT_NAME} ${OPT_VALUE}"
    done
 }