mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
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)
This commit is contained in:
@@ -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))
|
||||
{
|
||||
|
Reference in New Issue
Block a user