unset chpwd_functions before running cd to work with the path, to avoid side-effects if the user has set any chpwd_functions which cause output, such as is the case if the user is using auto-ls (#6830)
This commit is contained in:
parent
e8aaab56b9
commit
3dab7e46e8
@ -94,6 +94,11 @@ shrink_path () {
|
|||||||
(( tilde )) && dir=${dir/$HOME/\~}
|
(( tilde )) && dir=${dir/$HOME/\~}
|
||||||
tree=(${(s:/:)dir})
|
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
|
unfunction chpwd 2> /dev/null
|
||||||
if [[ $tree[1] == \~* ]] {
|
if [[ $tree[1] == \~* ]] {
|
||||||
cd ${~tree[1]}
|
cd ${~tree[1]}
|
||||||
|
Loading…
Reference in New Issue
Block a user