about summary refs log tree commit diff
path: root/Src/Zle/zle_keymap.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2010-09-20 09:27:46 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2010-09-20 09:27:46 +0000
commit8856dc878e51fa8d9710674168ccd95c263e66a3 (patch)
tree3e60076eec95b6cc9462b16d621f3f55c4a433e6 /Src/Zle/zle_keymap.c
parent9530331b4f04015eb65341c97940f68774ab210b (diff)
downloadzsh-8856dc878e51fa8d9710674168ccd95c263e66a3.tar.gz
zsh-8856dc878e51fa8d9710674168ccd95c263e66a3.tar.xz
zsh-8856dc878e51fa8d9710674168ccd95c263e66a3.zip
28282: new function zlecallhook()
fix arguments to zle-keymap-select
Diffstat (limited to 'Src/Zle/zle_keymap.c')
-rw-r--r--Src/Zle/zle_keymap.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/Src/Zle/zle_keymap.c b/Src/Zle/zle_keymap.c
index 0531c18ca..a08caa069 100644
--- a/Src/Zle/zle_keymap.c
+++ b/Src/Zle/zle_keymap.c
@@ -486,22 +486,11 @@ selectkeymap(char *name, int fb)
     }
     if(name != curkeymapname) {
 	char *oname = curkeymapname;
-	Thingy chgthingy;
 
 	curkeymapname = ztrdup(name);
 
-	if (oname && zleactive && strcmp(oname, curkeymapname) &&
-	    (chgthingy = rthingy_nocreate("zle-keymap-select"))) {
-	    char *args[2];
-	    int saverrflag = errflag, savretflag = retflag;
-	    args[0] = oname;
-	    args[1] = NULL;
-	    errflag = retflag = 0;
-	    execzlefunc(chgthingy, args, 1);
-	    unrefthingy(chgthingy);
-	    errflag = saverrflag;
-	    retflag = savretflag;
-	}
+	if (oname && zleactive && strcmp(oname, curkeymapname))
+	    zlecallhook("zle-keymap-select", oname);
 	zsfree(oname);
     }
     curkeymap = km;