Merge branch 'shrink-path-chpwd-fix'

Closes #5930.
This commit is contained in:
Marc Cornellà 2018-05-26 19:07:46 +02:00
commit 2294bae06a
1 changed files with 3 additions and 9 deletions

View File

@ -94,18 +94,12 @@ shrink_path () {
(( tilde )) && dir=${dir/$HOME/\~}
tree=(${(s:/:)dir})
(
# unset chpwd_functions since we'll be calling `cd` and don't
# want any side-effects (eg., if the user was using auto-ls)
chpwd_functions=()
# unset chpwd since even if chpwd_functions is (), zsh will
# attempt to execute chpwd
unfunction chpwd 2> /dev/null
if [[ $tree[1] == \~* ]] {
cd ${~tree[1]}
cd -q ${~tree[1]}
result=$tree[1]
shift tree
} else {
cd /
cd -q /
}
for dir in $tree; {
if (( lastfull && $#tree == 1 )) {
@ -122,7 +116,7 @@ shrink_path () {
(( short )) && break
done
result+="/$part"
cd $dir
cd -q $dir
shift tree
}
echo ${result:-/}