summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Src/Zle/zle_keymap.c7
2 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ed07399a6..cc78b8595 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-11-03  Peter Stephenson  <p.stephenson@samsung.com>
+
+	* unposted: Src/Zle/zle_keymap.c: comment explaining putting
+	back tail end of key buffer into input.
+
 2016-11-03  Daniel Shahaf  <d.s@daniel.shahaf.name>
 
 	* 39806: Src/Zle/zle_vi.c: internal: Document zle's vichgbuf.
diff --git a/Src/Zle/zle_keymap.c b/Src/Zle/zle_keymap.c
index 34c9c686e..053b097bb 100644
--- a/Src/Zle/zle_keymap.c
+++ b/Src/Zle/zle_keymap.c
@@ -1621,6 +1621,13 @@ getkeymapcmd(Keymap km, Thingy *funcp, char **strp)
     else
 	lastchar = lastc;
     if(lastlen != keybuflen) {
+	/*
+	 * We want to keep only the first lastlen bytes of the key
+	 * buffer in the key buffer that were marked as used by the key
+	 * binding above, and make the rest available for input again.
+	 * That rest (but not what we are keeping) needs to be
+	 * unmetafied.
+	 */
 	unmetafy(keybuf + lastlen, &keybuflen);
 	ungetbytes(keybuf+lastlen, keybuflen);
 	if(vichgflag)