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:
@@ -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();
|
||||
|
Reference in New Issue
Block a user