]> ruderich.org/simon Gitweb - config/dotfiles.git/commitdiff
zsh: Fix for 4.3.4 so add-zsh-hook works.
authorSimon Ruderich <simon@ruderich.org>
Thu, 12 Mar 2009 21:34:56 +0000 (22:34 +0100)
committerSimon Ruderich <simon@ruderich.org>
Thu, 12 Mar 2009 21:34:56 +0000 (22:34 +0100)
It seems it's broken on at least this version. So the compatibility function
in ~/.zsh/function/compatibility is used on this version too.

As the function add-zsh-hook already exists, fpath was updated to load the
compatibility functions first.

zsh/rc

diff --git a/zsh/rc b/zsh/rc
index c9f516a387842bca05f08ac889bf03dd40789110..7c59aecf518a4270a7ca51e251b3b7fffa792b83 100644 (file)
--- a/zsh/rc
+++ b/zsh/rc
@@ -41,9 +41,12 @@ autoload ${fpath[1]}/^_*(^/:t)
 
 # Simulate hooks using _functions arrays for Zsh versions older then 4.3.4. At
 # the moment only precmd() and preexec() are simulated.
-if [[ $ZSH_VERSION != (4.3.<4->|4.<4->*|<5->*) ]]; then
+#
+# 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.
+if [[ $ZSH_VERSION != (4.3.<5->|4.<4->*|<5->*) ]]; then
     # Provide add-zsh-hook which was added in 4.3.4.
-    fpath=($fpath ~/.zsh/functions/compatibility)
+    fpath=(~/.zsh/functions/compatibility $fpath)
 
     # Run all functions defined in the ${precmd,preexec}_functions arrays.
     function precmd() {