From: Daniel Hahler <git@thequod.de>
Date: Sun, 23 Apr 2017 19:55:34 +0000 (+0200)
Subject: lib/varstash: simplify stash for Zsh
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=d09b85cc0aa026f1cc250ce9f35b4ca8fc00980c;p=zsh-autoenv.git

lib/varstash: simplify stash for Zsh
---

diff --git a/lib/varstash b/lib/varstash
index dd50969..7da077e 100644
--- a/lib/varstash
+++ b/lib/varstash
@@ -135,19 +135,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 ([[ -n $ZSH_VERSION ]] && [[ $vartype == "export "* ]]) \
-                || [[ $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\""