updated for version 7.0e06
diff --git a/src/ops.c b/src/ops.c
index 5122b87..00780ac 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -3723,11 +3723,10 @@
 
 end:
     if (allocated)
-    {
 	vim_free(insert_string);
-	if (regname == '=')
-	    vim_free(y_array);
-    }
+    if (regname == '=')
+	vim_free(y_array);
+
     /* If the cursor is past the end of the line put it at the end. */
     if (gchar_cursor() == NUL
 	    && curwin->w_cursor.col > 0
@@ -4967,10 +4966,6 @@
 	    --col;
     }
 
-    /* truncate to max length of a number */
-    if (length >= NUMBUFLEN - 1)
-	length = NUMBUFLEN - 2;
-
     /*
      * If a number was found, and saving for undo works, replace the number.
      */