From: Daniel Hahler Date: Sun, 15 Mar 2015 21:10:50 +0000 (+0100) Subject: Do not reset the stack variables when (re)sourcing the plugin X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;ds=sidebyside;h=9a010cbdf6d58d7c82a7e5000a9b116735ec1764;p=zsh-autoenv.git Do not reset the stack variables when (re)sourcing the plugin This is meant to keep the current state when re-sourcing the shell config (`. ~/.zshrc`). Closes https://github.com/Tarrasch/zsh-autoenv/pull/24 --- diff --git a/autoenv.zsh b/autoenv.zsh index 3ec01e9..05ac0b7 100644 --- a/autoenv.zsh +++ b/autoenv.zsh @@ -41,10 +41,8 @@ autoenv_source_parent() { # Internal functions. {{{ # Internal: stack of entered (and handled) directories. {{{ typeset -g -a _autoenv_stack_entered -_autoenv_stack_entered=() # -g: make it global, this is required when used with antigen. typeset -g -A _autoenv_stack_entered_mtime -_autoenv_stack_entered_mtime=() # Add an entry to the stack, and remember its mtime. _autoenv_stack_entered_add() { diff --git a/tests/ZDOTDIR/.zshenv b/tests/ZDOTDIR/.zshenv index 029e73d..07e8b5b 100644 --- a/tests/ZDOTDIR/.zshenv +++ b/tests/ZDOTDIR/.zshenv @@ -2,7 +2,6 @@ test -f "$TESTDIR/.zcompdump" && rm "$TESTDIR/.zcompdump" AUTOENV_DEBUG=0 -source "$TESTDIR/../autoenv.plugin.zsh" export AUTOENV_ENV_FILENAME="$PWD/.env_auth" echo -n > $AUTOENV_ENV_FILENAME diff --git a/tests/autoenv.t b/tests/autoenv.t index 7618385..35cd963 100644 --- a/tests/autoenv.t +++ b/tests/autoenv.t @@ -74,6 +74,7 @@ Now, will it take no for an answer? Lets also try one more time to ensure it didn't add it. + $ _autoenv_ask_for_yes() { echo "yes"; return 0 } $ cd . Attempting to load unauthorized env file! -* /tmp/cramtests-*/autoenv.t/.env (glob) @@ -84,4 +85,11 @@ Lets also try one more time to ensure it didn't add it. ********************************************** - Would you like to authorize it? (type 'yes') no + Would you like to authorize it? (type 'yes') yes + ENTERED + +Reloading the script should keep the current state, e.g. when reloading your +~/.zshrc. + + $ source $TEST_AUTOENV_PLUGIN_FILE + $ cd . diff --git a/tests/setup.sh b/tests/setup.sh index ecbb0cc..afa5c95 100644 --- a/tests/setup.sh +++ b/tests/setup.sh @@ -18,6 +18,9 @@ fi _save_errexit=${options[errexit]} set -e +TEST_AUTOENV_PLUGIN_FILE="$TESTDIR/../autoenv.plugin.zsh" +source $TEST_AUTOENV_PLUGIN_FILE + # Reset any authentication. echo -n >| $AUTOENV_ENV_FILENAME