if [[ $abs_parent_dir == $look_until ]]; then
break
fi
- last=$parent_dir
+ last=$abs_parent_dir
parent_dir="${parent_dir}/.."
done
}
autoenv-edit() {
+ emulate -L zsh
local env_file
local -a files
local -A check
}
_autoenv_chpwd_handler() {
+ emulate -L zsh
_autoenv_debug "Calling chpwd handler: PWD=$PWD"
if (( $AUTOENV_DISABLED )); then
# Set uncommon options that caused problems in the past.
setopt noclobber
+setopt shwordsplit
$ touch -t 201401010102 dir
$ _autoenv_get_file_mtime dir
1388538120
+
+Stops when last (absolute) path does not change anymore.
+
+ $ _autoenv_get_file_upwards / doesnotexist nevermatches
# Add file ($1), version ($2), and optional hash ($3) to authentication file.
test_autoenv_add_to_env() {
+ emulate -L zsh
[[ -d ${AUTOENV_AUTH_FILE:h} ]] || mkdir -p ${AUTOENV_AUTH_FILE:h}
_autoenv_deauthorize $1
{
autoenv_source_parent_from_sub3:
ENTERED_sub: PWD:sub3 from:sub to:sub3
done_sub3
+
+Handles dirs with spaces.
+
+ $ mkdir "dir with space"
+ $ echo "echo entered \$PWD\n" >| "dir with space/.autoenv.zsh"
+ $ test_autoenv_add_to_env "dir with space/.autoenv.zsh"
+ $ cd "dir with space"
+ entered */dir with space (glob)
+
+Handles dirs with spaces outside any root (should not hang).
+
+ $ cd $CRAMTMP || exit
+ LEFT_root: * (glob)
+ LEFT_sub: * (glob)
+ $ mkdir "dir with space"
+ $ cd "dir with space"