]> granicus.if.org Git - vim/commitdiff
updated for version 7.4.425 v7.4.425
authorBram Moolenaar <Bram@vim.org>
Fri, 29 Aug 2014 12:20:51 +0000 (14:20 +0200)
committerBram Moolenaar <Bram@vim.org>
Fri, 29 Aug 2014 12:20:51 +0000 (14:20 +0200)
Problem:    When 'showbreak' is used "gj" may move to the wrong position.
            (Nazri Ramliy)
Solution:   Adjust virtcol when 'showbreak' is set. (Christian Brabandt)

src/normal.c
src/version.c

index fc9e94480eb9a737e2dc62b6b81f597e88756da7..7479ac789124a9b93b94835c1f985636272b7c50 100644 (file)
@@ -4509,13 +4509,19 @@ nv_screengo(oap, dir, dist)
 #if defined(FEAT_LINEBREAK) || defined(FEAT_MBYTE)
     if (curwin->w_cursor.col > 0 && curwin->w_p_wrap)
     {
+       colnr_T virtcol;
+
        /*
         * Check for landing on a character that got split at the end of the
         * last line.  We want to advance a screenline, not end up in the same
         * screenline or move two screenlines.
         */
        validate_virtcol();
-       if (curwin->w_virtcol > curwin->w_curswant
+       virtcol = curwin->w_virtcol;
+       if (virtcol > (colnr_T)width1 && *p_sbr != NUL)
+           virtcol -= vim_strsize(p_sbr);
+
+       if (virtcol > curwin->w_curswant
                && (curwin->w_curswant < (colnr_T)width1
                    ? (curwin->w_curswant > (colnr_T)width1 / 2)
                    : ((curwin->w_curswant - width1) % width2
index a3e113961f97d093110daf91674af6dbb01d436b..32a6b3bd0c89267f2155d09446adfc6d98cfb220 100644 (file)
@@ -741,6 +741,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    425,
 /**/
     424,
 /**/