#
# $ 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
# $
#
if [[ $stash_which == $stash_expression ]]; 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
# Skip remaining work if we're not doing an assignment
function autostash() {
local run_from_autostash=1
+ local ret varname
+ local already_stashed=
while [[ -n $1 ]]; do
if [[ $1 == "alias" && $2 == *=* ]]; then
shift
local _stashing_alias_assign=1
fi
- local already_stashed=
+ already_stashed=
stash "$1"
if [[ -z $already_stashed ]]; then
- local ret varname=${1%%'='*}
+ varname=${1%%'='*}
get_autostash_array_name
eval "$ret=(\$$ret \$varname)"
fi
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
+
+}}}