Browse Source

lib: optimize default and env_default

Marc Cornellà 6 years ago
parent
commit
55575b88f9
1 changed files with 3 additions and 3 deletions
  1. 3 3
      lib/functions.zsh

+ 3 - 3
lib/functions.zsh

@@ -79,7 +79,7 @@ function try_alias_value() {
 #    0 if the variable exists, 3 if it was set
 #
 function default() {
-    test `typeset +m "$1"` && return 0
+    (( $+parameters[$1] )) && return 0
     typeset -g "$1"="$2"   && return 3
 }
 
@@ -93,8 +93,8 @@ function default() {
 #    0 if the env variable exists, 3 if it was set
 #
 function env_default() {
-    env | grep -q "^$1=" && return 0
-    export "$1=$2"       && return 3
+    (( ${${(@f):-$(typeset +xg)}[(I)$1]} )) && return 0
+    export "$1=$2" && return 3
 }