]> ruderich.org/simon Gitweb - config/dotfiles.git/commitdiff
zsh/rc: Also simulate chpwd_functions for older Zsh.
authorSimon Ruderich <simon@ruderich.org>
Sat, 13 Mar 2010 17:20:29 +0000 (18:20 +0100)
committerSimon Ruderich <simon@ruderich.org>
Sat, 13 Mar 2010 17:20:29 +0000 (18:20 +0100)
zsh/rc

diff --git a/zsh/rc b/zsh/rc
index 50291513fb67ca0aa7490dbfe22d82446354ebcd..303fbe2f7d48649d3416044c84c64c7cdd5b750e 100644 (file)
--- a/zsh/rc
+++ b/zsh/rc
@@ -52,7 +52,7 @@ if [[ -d ~/.zsh/functions ]]; then
 fi
 
 # Simulate hooks using _functions arrays for Zsh versions older than 4.3.4. At
-# the moment only precmd() and preexec() are simulated.
+# the moment only precmd(), preexec() and chpwd() are simulated.
 #
 # At least 4.3.4 (not sure about later versions) has an error in add-zsh-hook
 # so the compatibility version is used there too.
@@ -60,7 +60,8 @@ if [[ $ZSH_VERSION != (4.3.<5->|4.<4->*|<5->*) ]]; then
     # Provide add-zsh-hook which was added in 4.3.4.
     fpath=(~/.zsh/functions/compatibility $fpath)
 
-    # Run all functions defined in the ${precmd,preexec}_functions arrays.
+    # Run all functions defined in the ${precmd,preexec,chpwd}_functions
+    # arrays.
     function precmd() {
         for function in $precmd_functions; do
             $function $@
@@ -71,6 +72,11 @@ if [[ $ZSH_VERSION != (4.3.<5->|4.<4->*|<5->*) ]]; then
             $function $@
         done
     }
+    function chpwd() {
+        for function in $chpwd_functions; do
+            $function $@
+        done
+    }
 fi
 
 # Autoload add-zsh-hook to add/remove zsh hook functions easily.