updated for version 7.0-199
diff --git a/src/edit.c b/src/edit.c
index 46b496b..b0e6f45 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -3448,11 +3448,16 @@
 	    }
 	    else
 	    {
+		int prev_col = curwin->w_cursor.col;
+
 		/* put the cursor on the last char, for 'tw' formatting */
-		curwin->w_cursor.col--;
+		if (prev_col > 0)
+		    dec_cursor();
 		if (stop_arrow() == OK)
 		    insertchar(NUL, 0, -1);
-		curwin->w_cursor.col++;
+		if (prev_col > 0
+			     && ml_get_curline()[curwin->w_cursor.col] != NUL)
+		    inc_cursor();
 	    }
 
 	    auto_format(FALSE, TRUE);
diff --git a/src/version.c b/src/version.c
index 7f2739b..42138ca 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    199,
+/**/
     198,
 /**/
     197,