about summary refs log tree commit diff
path: root/Functions/VCS_Info/VCS_INFO_realpath
blob: 481d5e98fece8ec6e4cf63ed164f9b29a5e687ba (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
## vim:ft=zsh
## Written by Frank Terbeck <ft@bewatermyfriend.org>
## Distributed under the same BSD-ish license as zsh itself.

# a portable 'readlink -f'
# forcing a subshell, to ensure chpwd() is not removed
# from the calling shell (if VCS_INFO_realpath() is called
# manually).

setopt localoptions NO_shwordsplit

(
    (( ${+functions[chpwd]} )) && unfunction chpwd
    setopt chaselinks
    cd $1 2>/dev/null && pwd
)