updated for version 7.0130
diff --git a/src/undo.c b/src/undo.c
index 362b317..34e1f40 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -404,6 +404,12 @@
 	}
 	for (i = 0, lnum = top + 1; i < size; ++i)
 	{
+	    fast_breakcheck();
+	    if (got_int)
+	    {
+		u_freeentry(uep, i);
+		return FAIL;
+	    }
 	    if ((uep->ue_array[i] = u_save_line(lnum++)) == NULL)
 	    {
 		u_freeentry(uep, i);