Skip to content
Snippets Groups Projects
Commit df9259ab authored by Bram Moolenaar's avatar Bram Moolenaar
Browse files

updated for version 7.3.1200

Problem:    When calling setline() from Insert mode, using CTRL-R =, undo does
            not work properly. (Israel Chauca)
Solution:   Sync undo after evaluating the expression. (Christian Brabandt)
parent dab38d51
No related merge requests found
......@@ -8126,10 +8126,8 @@ ins_reg()
--no_mapping;
#ifdef FEAT_EVAL
/*
* Don't call u_sync() while getting the expression,
* evaluating it or giving an error message for it!
*/
/* Don't call u_sync() while typing the expression or giving an error
* message for it. Only call it explicitly. */
++no_u_sync;
if (regname == '=')
{
......@@ -8142,6 +8140,9 @@ ins_reg()
if (im_on)
im_set_active(TRUE);
# endif
if (regname == '=')
/* sync undo, so the effect of e.g., setline() can be undone */
u_sync(TRUE);
}
if (regname == NUL || !valid_yank_reg(regname, FALSE))
{
......
......@@ -84,6 +84,16 @@ ggO---:0put c
ggO---:0put b
ggO---:0put a
ggO---:w >>test.out
:so small.vim
:set nocp
:enew!
oa
:set ul=100
ob
:set ul=100
o1a2=setline('.','1234')
uu:%w >>test.out
:qa!
ENDTEST
......
......@@ -41,3 +41,6 @@ one one one
two
two
three
a
b
......@@ -728,6 +728,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1200,
/**/
1199,
/**/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment