diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-06-12 22:09:01 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-06-12 22:09:01 +0200 |
commit | 37d1673ce007c46ec2338f3236ae1b7b0324bd25 (patch) | |
tree | 1d6d8b2f3ba2a2965ab3a3052056960b497322c6 /src | |
parent | 6c6be9e88d72a60ee279ccad73d018c534b71d66 (diff) |
patch 8.2.0964: TextYankPost does not provide info about Visual selectionv8.2.0964
Problem: TextYankPost does not provide info about Visual selection.
Solution: Add the 'visual' key in v:event. (closes #6249)
Diffstat (limited to 'src')
-rw-r--r-- | src/register.c | 2 | ||||
-rw-r--r-- | src/testdir/test_autocmd.vim | 14 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 13 insertions, 5 deletions
diff --git a/src/register.c b/src/register.c index f89a530b44..3968b07fb4 100644 --- a/src/register.c +++ b/src/register.c @@ -928,6 +928,8 @@ yank_do_autocmd(oparg_T *oap, yankreg_T *reg) } dict_add_string(v_event, "regtype", buf); + dict_add_bool(v_event, "visual", oap->is_VIsual); + // Lock the dictionary and its keys dict_set_items_ro(v_event); diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim index 9ac7070057..cd3559e1bc 100644 --- a/src/testdir/test_autocmd.vim +++ b/src/testdir/test_autocmd.vim @@ -1712,23 +1712,27 @@ func Test_TextYankPost() norm "ayiw call assert_equal( - \{'regcontents': ['foo'], 'regname': 'a', 'operator': 'y', 'regtype': 'v'}, + \{'regcontents': ['foo'], 'regname': 'a', 'operator': 'y', 'regtype': 'v', 'visual': v:false}, \g:event) norm y_ call assert_equal( - \{'regcontents': ['foo'], 'regname': '', 'operator': 'y', 'regtype': 'V'}, + \{'regcontents': ['foo'], 'regname': '', 'operator': 'y', 'regtype': 'V', 'visual': v:false}, + \g:event) + norm Vy + call assert_equal( + \{'regcontents': ['foo'], 'regname': '', 'operator': 'y', 'regtype': 'V', 'visual': v:true}, \g:event) call feedkeys("\<C-V>y", 'x') call assert_equal( - \{'regcontents': ['f'], 'regname': '', 'operator': 'y', 'regtype': "\x161"}, + \{'regcontents': ['f'], 'regname': '', 'operator': 'y', 'regtype': "\x161", 'visual': v:true}, \g:event) norm "xciwbar call assert_equal( - \{'regcontents': ['foo'], 'regname': 'x', 'operator': 'c', 'regtype': 'v'}, + \{'regcontents': ['foo'], 'regname': 'x', 'operator': 'c', 'regtype': 'v', 'visual': v:false}, \g:event) norm "bdiw call assert_equal( - \{'regcontents': ['bar'], 'regname': 'b', 'operator': 'd', 'regtype': 'v'}, + \{'regcontents': ['bar'], 'regname': 'b', 'operator': 'd', 'regtype': 'v', 'visual': v:false}, \g:event) call assert_equal({}, v:event) diff --git a/src/version.c b/src/version.c index 1a2b7050b3..25a096274f 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 */ /**/ + 964, +/**/ 963, /**/ 962, |