Problem: "gv" after paste selects one character less if 'selection' is
"exclusive".
Solution: Increment the end position. (Christian Brabandt)
{
curbuf->b_visual.vi_start = curbuf->b_op_start;
curbuf->b_visual.vi_end = curbuf->b_op_end;
+ /* need to adjust cursor position */
+ if (*p_sel == 'e')
+ inc(&curbuf->b_visual.vi_end);
}
/* When all lines were selected and deleted do_put() leaves an empty
:-2yank
$v$p
:$put ='---'
+:
+:$put =''
+:$put ='gv in exclusive select mode after operation'
+:$put ='zzz '
+:$put ='äà '
+:set selection=exclusive
+kv3lyjv3lpgvcxxx\e
+:$put ='---'
+:
+:$put =''
+:$put ='gv in exclusive select mode without operation'
+:$put ='zzz '
+:set selection=exclusive
+0v3l\egvcxxx\e
+:$put ='---'
:/^start:/+2,$w! test.out
:q!
ENDTEST
aaa
---
+
+gv in exclusive select mode after operation
+zzz
+xxx
+---
+
+gv in exclusive select mode without operation
+xxx
+---
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 929,
/**/
928,
/**/