about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBart Schaefer <barts@users.sourceforge.net>2005-09-29 14:39:18 +0000
committerBart Schaefer <barts@users.sourceforge.net>2005-09-29 14:39:18 +0000
commit6183db6faa0815f09267062769c602a1de3d9e81 (patch)
tree81f23ff7805a417801b83dacb0eca61a3127798c
parent5d6995abb1104771ac94720b9a73c51e88e4c51f (diff)
downloadzsh-6183db6faa0815f09267062769c602a1de3d9e81.tar.gz
zsh-6183db6faa0815f09267062769c602a1de3d9e81.tar.xz
zsh-6183db6faa0815f09267062769c602a1de3d9e81.zip
21770: tweak 21760 to avoid conflicts with global bindings
-rw-r--r--ChangeLog6
-rw-r--r--Src/Zle/zle_keymap.c5
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index eb1a48d70..35cf2ddd2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -17,6 +17,12 @@
 	* 21778: Completion/Debian/Command/_piuparts: completion for
 	piuparts.
  
+2005-09-27  Bart Schaefer  <schaefer@zsh.org>
+
+	* 21770: Src/Zle/zle_keymap.c: tweak 21760 so binding XYA in a
+	local keymap does not prevent bindings X or XY in the global
+	keymap from being chosen (upon key timeout).
+
 2005-09-27  Peter Stephenson  <pws@csr.com>
 
 	* 21769: Src/utils.c, Src/Zle/complist.c: fix some consequences of
diff --git a/Src/Zle/zle_keymap.c b/Src/Zle/zle_keymap.c
index de1d918ba..3045eddd8 100644
--- a/Src/Zle/zle_keymap.c
+++ b/Src/Zle/zle_keymap.c
@@ -1300,10 +1300,9 @@ getkeymapcmd(Keymap km, Thingy *funcp, char **strp)
 	    loc = ((f = keybind(localkeymap, keybuf, &s)) != t_undefinedkey);
 	    ispfx = keyisprefix(localkeymap, keybuf);
 	}
-	if (!loc && !ispfx) {
+	if (!loc)
 	    f = keybind(km, keybuf, &s);
-	    ispfx = keyisprefix(km, keybuf);
-	}
+	ispfx |= keyisprefix(km, keybuf);
 
 	if (f != t_undefinedkey) {
 	    lastlen = keybuflen;