changeset 4172:1c819b05529c v7.3.838

updated for version 7.3.838 Problem: Insufficient testing for mksession. Solution: Add tests. (mostly by Roland Eggner)
author Bram Moolenaar <bram@vim.org>
date Tue, 26 Feb 2013 17:21:29 +0100
parents 5b33343b14a4
children d6fd84991262
files src/ex_docmd.c src/testdir/Make_amiga.mak src/testdir/Make_dos.mak src/testdir/Make_ming.mak src/testdir/Make_os2.mak src/testdir/Make_vms.mms src/testdir/Makefile src/testdir/test92.in src/testdir/test92.ok src/testdir/test93.in src/testdir/test93.ok src/version.c
diffstat 12 files changed, 160 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- 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;
--- 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
--- 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
 
--- 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
 
--- 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
 
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -4,7 +4,7 @@
 # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
 #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
 #
-# 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
--- 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
 
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
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|
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
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|
--- 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,