Here is another one, from neovim #5709 including a test
Best,
Christian
--
In unserer Jugend schuften wir wie Sklaven, um etwas zu erreichen,
wovon wir im Alter sorgenlos leben könnten; und wenn wir alt sind,
sehen wir, daß es zu spät ist, so zu leben.
-- Alexander Pope
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
From 530126c3e3999bb3f81a3e873d9fc0d436ea3e9d Mon Sep 17 00:00:00 2001
From: Christian Brabandt <[email protected]>
Date: Thu, 29 Dec 2016 21:21:44 +0100
Subject: [PATCH] Make dot register accessible in visual mode
fixes neovim/neovim#5709
---
src/ops.c | 2 ++
src/testdir/test_visual.vim | 18 +++++++++++++-----
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/src/ops.c b/src/ops.c
index f966cb9..0853fd0 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -3351,6 +3351,8 @@ do_put(
*/
if (regname == '.')
{
+ if (VIsual_active)
+ stuffcharReadbuff(VIsual_mode);
(void)stuff_inserted((dir == FORWARD ? (count == -1 ? 'o' : 'a') :
(count == -1 ? 'O' : 'i')), count, FALSE);
/* Putting the text is done later, so can't really move the cursor to
diff --git a/src/testdir/test_visual.vim b/src/testdir/test_visual.vim
index 240546b..d84a140 100644
--- a/src/testdir/test_visual.vim
+++ b/src/testdir/test_visual.vim
@@ -1,13 +1,13 @@
-" Tests for Visual mode. Uses double-wide character.
-if !has('multi_byte')
- finish
-endif
-
+" Tests for various Visual mode.
if !has('visual')
finish
endif
func Test_block_shift_multibyte()
+ " Uses double-wide character.
+ if !has('multi_byte')
+ return
+ endif
split
call setline(1, ['xヹxxx', 'ヹxxx'])
exe "normal 1G0l\<C-V>jl>"
@@ -15,3 +15,11 @@ func Test_block_shift_multibyte()
call assert_equal(' ヹxxx', getline(2))
q!
endfunc
+
+func Test_dotregister_paste()
+ new
+ exe "norm! ihello world\<esc>"
+ norm! 0ve".p
+ call assert_equal('hello world world', getline(1))
+ q!
+endfunc
--
2.10.2