changeset 1573:0e3bd80a3f74 v7.1.286

updated for version 7.1-286
author vimboss
date Tue, 01 Apr 2008 10:06:39 +0000
parents a9e353f7fcc4
children f1d121474467
files src/normal.c src/version.c
diffstat 2 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/normal.c
+++ b/src/normal.c
@@ -8345,6 +8345,7 @@ nv_wordcmd(cap)
     int		n;
     int		word_end;
     int		flag = FALSE;
+    pos_T	startpos = curwin->w_cursor;
 
     /*
      * Set inclusive for the "E" and "e" command.
@@ -8405,8 +8406,9 @@ nv_wordcmd(cap)
     else
 	n = fwd_word(cap->count1, cap->arg, cap->oap->op_type != OP_NOP);
 
-    /* Don't leave the cursor on the NUL past the end of line. */
-    if (n != FAIL)
+    /* Don't leave the cursor on the NUL past the end of line. Unless we
+     * didn't move it forward. */
+    if (lt(startpos, curwin->w_cursor))
 	adjust_cursor(cap->oap);
 
     if (n == FAIL && cap->oap->op_type == OP_NOP)
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    286,
+/**/
     285,
 /**/
     284,