about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2014-11-04 14:08:20 +0100
committerOliver Kiddle <opk@zsh.org>2014-11-04 14:08:20 +0100
commit4b66ec003ff0631e39240576920dda971d555f6d (patch)
tree2d36d4c9cf24e1a1e82469aa4d75c172dfaf5a80
parent73ca1531593eb6907bf639882effba47d574b744 (diff)
downloadzsh-4b66ec003ff0631e39240576920dda971d555f6d.tar.gz
zsh-4b66ec003ff0631e39240576920dda971d555f6d.tar.xz
zsh-4b66ec003ff0631e39240576920dda971d555f6d.zip
33596: make local keymap keybinding hide global keymap
binding that is a prefix of the local binding
-rw-r--r--ChangeLog5
-rw-r--r--Src/Zle/zle_keymap.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 9994ef399..1b17490cf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-11-04  Oliver Kiddle  <opk@zsh.org>
+
+	* 33596: Src/Zle/zle_keymap.c: make local keymap keybinding hide
+	global keymap binding that is a prefix of the local binding
+
 2014-11-02  Oliver Kiddle  <opk@zsh.org>
 
 	* 33593: Src/Zle/zle_vi.c, Test/X02zlevi.ztst:
diff --git a/Src/Zle/zle_keymap.c b/Src/Zle/zle_keymap.c
index e21e769bd..6a7107609 100644
--- a/Src/Zle/zle_keymap.c
+++ b/Src/Zle/zle_keymap.c
@@ -1435,7 +1435,7 @@ getkeymapcmd(Keymap km, Thingy *funcp, char **strp)
 	    loc = ((f = keybind(localkeymap, keybuf, &s)) != t_undefinedkey);
 	    ispfx = keyisprefix(localkeymap, keybuf);
 	}
-	if (!loc)
+	if (!loc && !ispfx)
 	    f = keybind(km, keybuf, &s);
 	ispfx |= keyisprefix(km, keybuf);