diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Src/Zle/zle_keymap.c | 7 |
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) |