updated for version 7.3.1253
Problem:    Still undo problem after using CTRL-R = setline(). (Hirohito
            Higashi)
Solution:   Set the ins_need_undo flag.
diff --git a/src/edit.c b/src/edit.c
index 413740f..b42b930 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -8134,15 +8134,17 @@
 # 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;
+
 	regname = get_expr_register();
 # ifdef USE_IM_CONTROL
 	/* Restore the Input Method. */
 	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);
+	Insstart = curwin->w_cursor;
     }
     if (regname == NUL || !valid_yank_reg(regname, FALSE))
     {
diff --git a/src/version.c b/src/version.c
index 83487c7..dbd9542 100644
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1253,
+/**/
     1252,
 /**/
     1251,