# HG changeset patch # User Bram Moolenaar # Date 1361895689 -3600 # Node ID 1c819b05529cbbc39982513271499e0217382124 # Parent 5b33343b14a43d2e5bd1483545418bd8a88fdd3f updated for version 7.3.838 Problem: Insufficient testing for mksession. Solution: Add tests. (mostly by Roland Eggner) diff --git a/src/ex_docmd.c b/src/ex_docmd.c --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -10839,7 +10839,7 @@ put_view(fd, wp, add_edit, flagp, curren (long)wp->w_virtcol + 1) < 0 || put_eol(fd) == FAIL || put_line(fd, "else") == FAIL - || fprintf(fd, " normal! %d|", wp->w_virtcol + 1) < 0 + || fprintf(fd, " normal! 0%d|", wp->w_virtcol + 1) < 0 || put_eol(fd) == FAIL || put_line(fd, "endif") == FAIL) return FAIL; diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak --- a/src/testdir/Make_amiga.mak +++ b/src/testdir/Make_amiga.mak @@ -32,7 +32,7 @@ SCRIPTS = test1.out test3.out test4.out test71.out test72.out test73.out test74.out test75.out \ test76.out test77.out test78.out test79.out test80.out \ test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out + test89.out test90.out test91.out test92.out test93.out .SUFFIXES: .in .out @@ -140,3 +140,5 @@ test88.out: test88.in test89.out: test89.in test90.out: test90.in test91.out: test91.in +test92.out: test92.in +test93.out: test93.in diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak --- a/src/testdir/Make_dos.mak +++ b/src/testdir/Make_dos.mak @@ -31,7 +31,7 @@ SCRIPTS = test3.out test4.out test5.out test74.out test75.out test76.out test77.out test78.out \ test79.out test80.out test81.out test82.out test83.out \ test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out + test89.out test90.out test91.out test92.out test93.out SCRIPTS32 = test50.out test70.out diff --git a/src/testdir/Make_ming.mak b/src/testdir/Make_ming.mak --- a/src/testdir/Make_ming.mak +++ b/src/testdir/Make_ming.mak @@ -51,7 +51,7 @@ SCRIPTS = test3.out test4.out test5.out test74.out test75.out test76.out test77.out test78.out \ test79.out test80.out test81.out test82.out test83.out \ test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out + test89.out test90.out test91.out test92.out test93.out SCRIPTS32 = test50.out test70.out diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak --- a/src/testdir/Make_os2.mak +++ b/src/testdir/Make_os2.mak @@ -32,7 +32,7 @@ SCRIPTS = test1.out test3.out test4.out test71.out test72.out test73.out test74.out test75.out \ test76.out test77.out test78.out test79.out test80.out \ test81.out test82.out test83.out test84.out test88.out \ - test89.out test90.out test91.out + test89.out test90.out test91.out test92.out test93.out .SUFFIXES: .in .out diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms --- a/src/testdir/Make_vms.mms +++ b/src/testdir/Make_vms.mms @@ -4,7 +4,7 @@ # Authors: Zoltan Arpadffy, # Sandor Kopanyi, # -# Last change: 2013 Feb 20 +# Last change: 2013-02-21 # # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. # Edit the lines in the Configuration section below to select. @@ -77,7 +77,7 @@ SCRIPT = test1.out test2.out test3.out test71.out test72.out test74.out test75.out test76.out \ test77.out test78.out test79.out test80.out test81.out \ test82.out test83.out test84.out test88.out test89.out \ - test90.out test91.out + test90.out test91.out test92.out test93.out # Known problems: # Test 30: a problem around mac format - unknown reason diff --git a/src/testdir/Makefile b/src/testdir/Makefile --- a/src/testdir/Makefile +++ b/src/testdir/Makefile @@ -28,7 +28,7 @@ SCRIPTS = test1.out test2.out test3.out test74.out test75.out test76.out test77.out test78.out \ test79.out test80.out test81.out test82.out test83.out \ test84.out test85.out test86.out test87.out test88.out \ - test89.out test90.out test91.out + test89.out test90.out test91.out test92.out test93.out SCRIPTS_GUI = test16.out diff --git a/src/testdir/test92.in b/src/testdir/test92.in new file mode 100644 --- /dev/null +++ b/src/testdir/test92.in @@ -0,0 +1,48 @@ +vim: set ft=vim fenc=utf-8: + +Tests if :mksession saves cursor columns correctly in presence of tab and +multibyte characters when fileencoding=utf-8. + +STARTTEST +:so mbyte.vim +:if !has('mksession') +: e! test.ok +: wq! test.out +:endif +:set sessionoptions=buffers splitbelow fileencoding=utf-8 +/^start: +:vsplit +j16|:split +j16|:split +j16|:split +j8|:split +j8|:split +j16|:split +j16|:split +j16|:wincmd l +/^start: +:set nowrap +j16|3zl:split +j016|3zl:split +j016|3zl:split +j08|3zl:split +j08|3zl:split +j016|3zl:split +j016|3zl:split +j016|3zl:split +:mksession! test.out +:new test.out +:v/\(^ *normal! 0\|^ *exe 'normal!\)/d +:w +:qa! +ENDTEST + +start: +no multibyte chAracter + one leaDing tab + four leadinG spaces +two consecutive tabs +two tabs in one line +one … multibyteCharacter +a “b” two multiByte characters +“c”1€ three mulTibyte characters diff --git a/src/testdir/test92.ok b/src/testdir/test92.ok new file mode 100644 --- /dev/null +++ b/src/testdir/test92.ok @@ -0,0 +1,26 @@ +normal! 016| +normal! 016| +normal! 016| +normal! 08| +normal! 08| +normal! 016| +normal! 016| +normal! 016| + exe 'normal! ' . s:c . '|zs' . 16 . '|' + normal! 016| + exe 'normal! ' . s:c . '|zs' . 16 . '|' + normal! 016| + exe 'normal! ' . s:c . '|zs' . 16 . '|' + normal! 016| + exe 'normal! ' . s:c . '|zs' . 8 . '|' + normal! 08| + exe 'normal! ' . s:c . '|zs' . 8 . '|' + normal! 08| + exe 'normal! ' . s:c . '|zs' . 16 . '|' + normal! 016| + exe 'normal! ' . s:c . '|zs' . 16 . '|' + normal! 016| + exe 'normal! ' . s:c . '|zs' . 16 . '|' + normal! 016| + exe 'normal! ' . s:c . '|zs' . 16 . '|' + normal! 016| diff --git a/src/testdir/test93.in b/src/testdir/test93.in new file mode 100644 --- /dev/null +++ b/src/testdir/test93.in @@ -0,0 +1,48 @@ +vim: set ft=vim fenc=latin1: + +Tests if :mksession saves cursor columns correctly in presence of tab and +multibyte characters when fileencoding=latin1. + +STARTTEST +:so mbyte.vim +:if !has('mksession') +: e! test.ok +: wq! test.out +:endif +:set sessionoptions=buffers splitbelow fileencoding=latin1 +/^start: +:vsplit +j16|:split +j16|:split +j16|:split +j8|:split +j8|:split +j16|:split +j16|:split +j16|:wincmd l +/^start: +:set nowrap +j16|3zl:split +j016|3zl:split +j016|3zl:split +j08|3zl:split +j08|3zl:split +j016|3zl:split +j016|3zl:split +j016|3zl:split +:mksession! test.out +:new test.out +:v/\(^ *normal! 0\|^ *exe 'normal!\)/d +:w +:qa! +ENDTEST + +start: +no multibyte chAracter + one leaDing tab + four leadinG spaces +two consecutive tabs +two tabs in one line +one multibyteCharacter +a two multiByte characters +A three mulTibyte characters diff --git a/src/testdir/test93.ok b/src/testdir/test93.ok new file mode 100644 --- /dev/null +++ b/src/testdir/test93.ok @@ -0,0 +1,26 @@ +normal! 016| +normal! 016| +normal! 016| +normal! 08| +normal! 08| +normal! 016| +normal! 016| +normal! 016| + exe 'normal! ' . s:c . '|zs' . 16 . '|' + normal! 016| + exe 'normal! ' . s:c . '|zs' . 16 . '|' + normal! 016| + exe 'normal! ' . s:c . '|zs' . 16 . '|' + normal! 016| + exe 'normal! ' . s:c . '|zs' . 8 . '|' + normal! 08| + exe 'normal! ' . s:c . '|zs' . 8 . '|' + normal! 08| + exe 'normal! ' . s:c . '|zs' . 16 . '|' + normal! 016| + exe 'normal! ' . s:c . '|zs' . 16 . '|' + normal! 016| + exe 'normal! ' . s:c . '|zs' . 16 . '|' + normal! 016| + exe 'normal! ' . s:c . '|zs' . 16 . '|' + normal! 016| diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -729,6 +729,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 838, +/**/ 837, /**/ 836,