]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.830 v7.3.830
authorBram Moolenaar <Bram@vim.org>
Wed, 20 Feb 2013 18:26:29 +0000 (19:26 +0100)
committerBram Moolenaar <Bram@vim.org>
Wed, 20 Feb 2013 18:26:29 +0000 (19:26 +0100)
Problem:    :mksession confuses bytes, columns and characters when positioning
            the cursor.
Solution:   Use w_virtcol with "|" instead of w_cursor.col with "l".

src/ex_docmd.c
src/version.c

index 4c4c9e9bb70eab553e1928c7eddc567b0ccc0ada..62ae3ad2e84c0b204e6783ab909619ebe1978425 100644 (file)
@@ -10829,24 +10829,24 @@ put_view(fd, wp, add_edit, flagp, current_arg_idx)
            {
                if (fprintf(fd,
                          "let s:c = %ld - ((%ld * winwidth(0) + %ld) / %ld)",
-                           (long)wp->w_cursor.col,
-                           (long)(wp->w_cursor.col - wp->w_leftcol),
+                           (long)wp->w_virtcol + 1,
+                           (long)(wp->w_virtcol - wp->w_leftcol),
                            (long)wp->w_width / 2, (long)wp->w_width) < 0
                        || put_eol(fd) == FAIL
                        || put_line(fd, "if s:c > 0") == FAIL
                        || fprintf(fd,
-                           "  exe 'normal! 0' . s:c . 'lzs' . (%ld - s:c) . 'l'",
-                           (long)wp->w_cursor.col) < 0
+                           "  exe 'normal! ' . s:c . '|zs' . %ld . '|'",
+                           (long)wp->w_virtcol + 1) < 0
                        || put_eol(fd) == FAIL
                        || put_line(fd, "else") == FAIL
-                       || fprintf(fd, "  normal! 0%dl", wp->w_cursor.col) < 0
+                       || fprintf(fd, "  normal! %d|", wp->w_virtcol + 1) < 0
                        || put_eol(fd) == FAIL
                        || put_line(fd, "endif") == FAIL)
                    return FAIL;
            }
            else
            {
-               if (fprintf(fd, "normal! 0%dl", wp->w_cursor.col) < 0
+               if (fprintf(fd, "normal! 0%d|", wp->w_virtcol + 1) < 0
                        || put_eol(fd) == FAIL)
                    return FAIL;
            }
index a63e02554a4f2202757809bdf531c33de9af117b..0881d927cf939b1b76df7848fd93edc46b6ebda5 100644 (file)
@@ -728,6 +728,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    830,
 /**/
     829,
 /**/