Mercurial > vim
changeset 26875:e06cbcf4b94b v8.2.3966
patch 8.2.3966: when using feedkeys() abbreviations may be blocked
Commit: https://github.com/vim/vim/commit/b37a65e4bf08c4eec4fa5b81a5efc3945fca44de
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jan 1 12:42:56 2022 +0000
patch 8.2.3966: when using feedkeys() abbreviations may be blocked
Problem: When using feedkeys() abbreviations may be blocked.
Solution: Reset tb_no_abbr_cnt when running out of characters.
(closes #9448)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 01 Jan 2022 13:45:03 +0100 |
parents | 64d54e4f7f6d |
children | 601a973ac16c |
files | src/getchar.c src/testdir/test_feedkeys.vim src/version.c |
diffstat | 3 files changed, 15 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/getchar.c +++ b/src/getchar.c @@ -3239,6 +3239,9 @@ vgetorpeek(int advance) if (pending_exmode_active) exmode_active = EXMODE_NORMAL; + // no chars to block abbreviation for + typebuf.tb_no_abbr_cnt = 0; + break; }
--- a/src/testdir/test_feedkeys.vim +++ b/src/testdir/test_feedkeys.vim @@ -13,4 +13,14 @@ func Test_feedkeys_x_with_empty_string() quit! endfunc +func Test_feedkeys_with_abbreviation() + new + inoreabbrev trigger value + call feedkeys("atrigger ", 'x') + call feedkeys("atrigger ", 'x') + call assert_equal('value value ', getline(1)) + bwipe! + iunabbrev trigger +endfunc + " vim: shiftwidth=2 sts=2 expandtab