X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=autoenv.zsh;h=c7a2999be5ea2f4d8348dcdf960f2e55b3605631;hb=b90d2c4f80bbe4aee1d6257dab77fc0b4cc55c75;hp=db059f292e319a81f36296d9e7907f3c09d7c040;hpb=9ecb91480d6a868b31d6c26d8557775b87b592c9;p=zsh-autoenv.git diff --git a/autoenv.zsh b/autoenv.zsh index db059f2..c7a2999 100644 --- a/autoenv.zsh +++ b/autoenv.zsh @@ -330,19 +330,24 @@ _autoenv_get_file_upwards() { # performance reasons, which is only available in zsh-5.0.5-146-g9381bb6. local last local parent_dir="$look_from/.." + local abs_parent_dir while true; do - parent_dir=${parent_dir:A} - if [[ $parent_dir == $last ]]; then + abs_parent_dir=${parent_dir:A} + if [[ $abs_parent_dir == $last ]]; then break fi local parent_file="${parent_dir}/${look_for}" if [[ -f $parent_file ]]; then - echo $parent_file + if [[ ${parent_file[1,2]} == './' ]]; then + echo ${parent_file#./} + else + echo ${parent_file:A} + fi break fi - if [[ $parent_dir == $look_until ]]; then + if [[ $abs_parent_dir == $look_until ]]; then break fi last=$parent_dir