Mercurial > vim
changeset 29350:8a822186f1ab v9.0.0018
patch 9.0.0018: going over the end of the typahead
Commit: https://github.com/vim/vim/commit/27efc62f5d86afcb2ecb7565587fe8dea4b036fe
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Jul 1 16:35:45 2022 +0100
patch 9.0.0018: going over the end of the typahead
Problem: Going over the end of the typahead.
Solution: Put a NUL after the typeahead.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 01 Jul 2022 17:45:02 +0200 |
parents | 40302fa846fb |
children | 9dfcc8c63b07 |
files | src/term.c src/testdir/test_mapping.vim src/version.c |
diffstat | 3 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/term.c +++ b/src/term.c @@ -5393,6 +5393,7 @@ check_termcode( if (*tp == ESC && !p_ek && (State & MODE_INSERT)) continue; + tp[len] = NUL; key_name[0] = NUL; // no key name found yet key_name[1] = NUL; // no key name found yet modifiers = 0; // no modifiers yet
--- a/src/testdir/test_mapping.vim +++ b/src/testdir/test_mapping.vim @@ -1715,4 +1715,14 @@ func Test_map_after_timed_out_nop() call delete('Xtest_map_after_timed_out_nop') endfunc +func Test_using_past_typeahead() + nnoremap :00 0 + exe "norm :set \x80\xfb0=0\<CR>" + exe "sil norm :0\x0f\<C-U>\<CR>" + + exe "norm :set \x80\xfb0=\<CR>" + nunmap :00 +endfunc + + " vim: shiftwidth=2 sts=2 expandtab