diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-05-18 21:38:45 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-05-18 21:38:45 +0200 |
commit | 796139ae3ac89e27ee96dce3c7fdb87d8c839f53 (patch) | |
tree | 40044765188bc84813b2e4b37e0d4a51ff3681de /src | |
parent | 485b62710004431a16feb4eb861365d082304a08 (diff) |
patch 8.2.2870: CmdlineChange event triggered twice for CTRL-Rv8.2.2870
Problem: CmdlineChange event triggered twice for CTRL-R.
Solution: Return CMDLINE_NOT_CHANGED from cmdline_insert_reg().
(closes #8219)
Diffstat (limited to 'src')
-rw-r--r-- | src/ex_getln.c | 5 | ||||
-rw-r--r-- | src/testdir/test_cmdline.vim | 6 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 12 insertions, 1 deletions
diff --git a/src/ex_getln.c b/src/ex_getln.c index 4ebc341109..e7d71a510f 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -1253,8 +1253,11 @@ cmdline_insert_reg(int *gotesc UNUSED) } #endif } + // remove the double quote redrawcmd(); - return CMDLINE_CHANGED; + + // The text has been stuffed, the command line didn't change yet. + return CMDLINE_NOT_CHANGED; } /* diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim index 5ed283f1fa..bba7e725e9 100644 --- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -1810,6 +1810,12 @@ func Test_cmd_map_cmdlineChanged() call feedkeys(":\<F1>\<CR>", 'xt') call assert_equal(['l', 'ls'], g:log) + let @b = 'b' + cnoremap <F1> a<C-R>b + let g:log = [] + call feedkeys(":\<F1>\<CR>", 'xt') + call assert_equal(['a', 'ab'], g:log) + unlet g:log cunmap <F1> augroup test diff --git a/src/version.c b/src/version.c index 0b17d91af4..edc95e5610 100644 --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2870, +/**/ 2869, /**/ 2868, |