mirror of
https://github.com/Tarrasch/zsh-autoenv.git
synced 2024-12-22 02:40:16 +02:00
Fix use of local in while loop. (#66)
For some reason it did not fail on Travis when only pushing the test first?! Also adds punctuation to already-stashed msg.
This commit is contained in:
parent
738e6e965d
commit
4aeb48a02e
10
lib/varstash
10
lib/varstash
@ -44,7 +44,7 @@
|
|||||||
#
|
#
|
||||||
# $ stash FOO
|
# $ stash FOO
|
||||||
# $ stash FOO
|
# $ stash FOO
|
||||||
# You have already stashed FOO, please specify "-f" if you want to overwrite another stashed value
|
# You have already stashed FOO, please specify "-f" if you want to overwrite another stashed value.
|
||||||
# $ stash -f FOO
|
# $ stash -f FOO
|
||||||
# $
|
# $
|
||||||
#
|
#
|
||||||
@ -94,7 +94,7 @@ function stash() {
|
|||||||
|
|
||||||
if [[ $stash_which == $stash_expression ]]; then
|
if [[ $stash_which == $stash_expression ]]; then
|
||||||
if [[ -z $run_from_smartcd ]]; then
|
if [[ -z $run_from_smartcd ]]; then
|
||||||
echo "You have already stashed $stash_which, please specify \"-f\" if you want to overwrite another stashed value"
|
echo "You have already stashed $stash_which, please specify \"-f\" if you want to overwrite another stashed value."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Skip remaining work if we're not doing an assignment
|
# Skip remaining work if we're not doing an assignment
|
||||||
@ -197,16 +197,18 @@ function get_autostash_array_name() {
|
|||||||
|
|
||||||
function autostash() {
|
function autostash() {
|
||||||
local run_from_autostash=1
|
local run_from_autostash=1
|
||||||
|
local ret varname
|
||||||
|
local already_stashed=
|
||||||
while [[ -n $1 ]]; do
|
while [[ -n $1 ]]; do
|
||||||
if [[ $1 == "alias" && $2 == *=* ]]; then
|
if [[ $1 == "alias" && $2 == *=* ]]; then
|
||||||
shift
|
shift
|
||||||
local _stashing_alias_assign=1
|
local _stashing_alias_assign=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local already_stashed=
|
already_stashed=
|
||||||
stash "$1"
|
stash "$1"
|
||||||
if [[ -z $already_stashed ]]; then
|
if [[ -z $already_stashed ]]; then
|
||||||
local ret varname=${1%%'='*}
|
varname=${1%%'='*}
|
||||||
get_autostash_array_name
|
get_autostash_array_name
|
||||||
eval "$ret=(\$$ret \$varname)"
|
eval "$ret=(\$$ret \$varname)"
|
||||||
fi
|
fi
|
||||||
|
@ -106,3 +106,23 @@ And once again where a value gets restored.
|
|||||||
orig_2
|
orig_2
|
||||||
|
|
||||||
}}}
|
}}}
|
||||||
|
|
||||||
|
autostash does not issue a warning, and no other output. {{{
|
||||||
|
|
||||||
|
$ autostash something=1 something_else=2
|
||||||
|
$ echo $something $something_else
|
||||||
|
1 2
|
||||||
|
$ stash something=1.2 something_else=2.2
|
||||||
|
$ echo $something $something_else
|
||||||
|
1.2 2.2
|
||||||
|
$ stash something something_else
|
||||||
|
You have already stashed something, please specify "-f" if you want to overwrite another stashed value.
|
||||||
|
You have already stashed something_else, please specify "-f" if you want to overwrite another stashed value.
|
||||||
|
|
||||||
|
Should not be set anymore.
|
||||||
|
|
||||||
|
$ autounstash
|
||||||
|
$ echo ${+something} ${+something_else}
|
||||||
|
0 0
|
||||||
|
|
||||||
|
}}}
|
||||||
|
Loading…
Reference in New Issue
Block a user