Browse Source

Merge pull request #4212 from NAR8789/master

Fix chpwd clobbering in dirhistory and last-working-dir
Robby Russell 9 years ago
parent
commit
e3a01e5af1

+ 2 - 1
plugins/dirhistory/dirhistory.plugin.zsh

@@ -49,7 +49,8 @@ function push_future() {
 }
 
 # Called by zsh when directory changes
-function chpwd() {
+chpwd_functions+=(chpwd_dirhistory)
+function chpwd_dirhistory() {
   push_past $PWD
   # If DIRHISTORY_CD is not set...
   if [[ -z "${DIRHISTORY_CD+x}" ]]; then

+ 2 - 1
plugins/dirpersist/dirpersist.plugin.zsh

@@ -11,7 +11,8 @@ if [[ -f ${dirstack_file} ]] && [[ ${#dirstack[*]} -eq 0 ]] ; then
   [[ -d $dirstack[1] ]] && cd $dirstack[1] && cd $OLDPWD
 fi
 
-chpwd() {
+chpwd_functions+=(chpwd_dirpersist)
+chpwd_dirpersist() {
   if (( $DIRSTACKSIZE <= 0 )) || [[ -z $dirstack_file ]]; then return; fi
   local -ax my_stack
   my_stack=( ${PWD} ${dirstack} )

+ 2 - 1
plugins/last-working-dir/last-working-dir.plugin.zsh

@@ -8,7 +8,8 @@ mkdir -p $ZSH_CACHE_DIR
 cache_file="$ZSH_CACHE_DIR/last-working-dir"
 
 # Updates the last directory once directory is changed.
-function chpwd() {
+chpwd_functions+=(chpwd_last_working_dir)
+function chpwd_last_working_dir() {
   # Use >| in case noclobber is set to avoid "file exists" error
 	pwd >| "$cache_file"
 }