]> Sergey Matveev's repositories - zsh-autoenv.git/blobdiff - lib/varstash
minor: sync lib/varstash
[zsh-autoenv.git] / lib / varstash
index 26b2e7286f6f32d987c711d5f071a82b1e62a48b..94c063d28d3513b9a286ee456279eb43fc19da4e 100644 (file)
@@ -34,7 +34,7 @@
 #       autostash PATH
 #       export PATH=/something/else
 #
-#   You may also do both operations on line line, leaving only the very succinct
+#   You may also do both operations in one line, resulting in the very succinct
 #
 #       autostash PATH=/something/else
 #
@@ -55,7 +55,6 @@
 #
 ################################################################################
 
-
 function stash() {
     if [[ $1 == "-f" ]]; then
         local force=1; shift
@@ -135,18 +134,13 @@ function stash() {
         # Handle any variable that may exist under this name
         local vartype="$(declare -p $stash_which 2>/dev/null)"
         if [[ -n $vartype ]]; then
-            if [[ -n $ZSH_VERSION ]]; then
-                local pattern="typeset"
-            else
-                local pattern="declare"
-            fi
-            if [[ $vartype == $pattern" -a"* ]]; then
+            if [[ $vartype == 'typeset -a'* ]]; then
                 # varible is an array
                 if [[ -z $already_stashed ]]; then
                     eval "__varstash_array__$stash_name=(\"\${$stash_which""[@]}\")"
                 fi
 
-            elif [[ $vartype == $pattern" -x"* ]]; then
+            elif [[ $vartype == "export "* || $vartype == 'typeset -x'* ]]; then
                 # variable is exported
                 if [[ -z $already_stashed ]]; then
                     eval "export __varstash_export__$stash_name=\"\$$stash_which\""