0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

updated for version 7.3.1303

Problem:    Undo is synced whenever CTRL-R = is called, breaking some plugins.
Solution:   Only break undo when calling setline() or append().
This commit is contained in:
Bram Moolenaar
2013-07-04 20:25:41 +02:00
parent c84e3c1ee1
commit 3c1e9c2a1f
6 changed files with 43 additions and 4 deletions

View File

@@ -8135,9 +8135,9 @@ ins_reg()
# ifdef USE_IM_CONTROL
int im_on = im_get_status();
# endif
/* Sync undo, so the effect of e.g., setline() can be undone. */
u_sync(TRUE);
ins_need_undo = TRUE;
/* Sync undo when evaluating the expression calls setline() or
* append(), so that it can be undone separately. */
u_sync_once = 2;
regname = get_expr_register();
# ifdef USE_IM_CONTROL
@@ -8178,6 +8178,9 @@ ins_reg()
#ifdef FEAT_EVAL
}
--no_u_sync;
if (u_sync_once == 1)
ins_need_undo = TRUE;
u_sync_once = 0;
#endif
#ifdef FEAT_CMDL_INFO
clear_showcmd();