diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-08-23 21:46:32 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-08-23 21:46:32 +0200 |
commit | b3ea36c5bcb88b6a05a66347eedd461e9385103f (patch) | |
tree | ee2ade78ab07ba893a19a4617ee5a4bd61cba9f0 | |
parent | c2af0afff5c44969ad7611ec2d47d0f52087fa7f (diff) | |
download | vim-git-b3ea36c5bcb88b6a05a66347eedd461e9385103f.tar.gz |
patch 8.2.1520: Vim9: CTRL-] used in :def function does not workv8.2.1520
Problem: Vim9: CTRL-] used in :def function does not work.
Solution: Omit count or prepend colon. (closes #6769)
-rw-r--r-- | src/normal.c | 4 | ||||
-rw-r--r-- | src/testdir/test_vim9_cmd.vim | 20 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 25 insertions, 1 deletions
diff --git a/src/normal.c b/src/normal.c index cb8e73636..1ef650924 100644 --- a/src/normal.c +++ b/src/normal.c @@ -3644,8 +3644,10 @@ nv_ident(cmdarg_T *cap) { if (g_cmd) STRCPY(buf, "tj "); + else if (cap->count0 == 0) + STRCPY(buf, "ta "); else - sprintf((char *)buf, "%ldta ", cap->count0); + sprintf((char *)buf, ":%ldta ", cap->count0); } } diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim index 9f4231a9a..9372d9095 100644 --- a/src/testdir/test_vim9_cmd.vim +++ b/src/testdir/test_vim9_cmd.vim @@ -295,5 +295,25 @@ def Test_map_command() CheckScriptSuccess(['vim9script'] + lines) enddef +def Test_normal_command() + new + setline(1, 'doesnotexist') + let caught = 0 + try + exe "norm! \<C-]>" + catch /E433/ + caught = 2 + endtry + assert_equal(2, caught) + + try + exe "norm! 3\<C-]>" + catch /E433/ + caught = 3 + endtry + assert_equal(3, caught) + bwipe! +enddef + " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker diff --git a/src/version.c b/src/version.c index 421e4a68c..41e91880c 100644 --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1520, +/**/ 1519, /**/ 1518, |