diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-01-01 12:42:56 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-01-01 12:42:56 +0000 |
commit | b37a65e4bf08c4eec4fa5b81a5efc3945fca44de (patch) | |
tree | ccfedbf5f1c6b17765f0fccb82e7ca057fce15ca /src | |
parent | b79ee0c299d786627784f7304ba84b80e78ece26 (diff) | |
download | vim-git-b37a65e4bf08c4eec4fa5b81a5efc3945fca44de.tar.gz |
patch 8.2.3966: when using feedkeys() abbreviations may be blockedv8.2.3966
Problem: When using feedkeys() abbreviations may be blocked.
Solution: Reset tb_no_abbr_cnt when running out of characters.
(closes #9448)
Diffstat (limited to 'src')
-rw-r--r-- | src/getchar.c | 3 | ||||
-rw-r--r-- | src/testdir/test_feedkeys.vim | 10 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 15 insertions, 0 deletions
diff --git a/src/getchar.c b/src/getchar.c index 209ee06f0..704d4d395 100644 --- 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; } diff --git a/src/testdir/test_feedkeys.vim b/src/testdir/test_feedkeys.vim index 38b2f9f68..f343b0174 100644 --- 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 diff --git a/src/version.c b/src/version.c index 649954870..195c3d5ee 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3966, +/**/ 3965, /**/ 3964, |