diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile | 4 | ||||
-rw-r--r-- | src/testdir/Make_all.mak | 4 | ||||
-rw-r--r-- | src/testdir/Make_vms.mms | 2 | ||||
-rw-r--r-- | src/testdir/test92.in | 48 | ||||
-rw-r--r-- | src/testdir/test92.ok | 26 | ||||
-rw-r--r-- | src/testdir/test93.in | 48 | ||||
-rw-r--r-- | src/testdir/test93.ok | 26 | ||||
-rw-r--r-- | src/testdir/test_mksession.vim | 104 | ||||
-rw-r--r-- | src/testdir/test_mksession_utf8.vim | 104 | ||||
-rw-r--r-- | src/version.c | 2 |
10 files changed, 216 insertions, 152 deletions
diff --git a/src/Makefile b/src/Makefile index 7a6567736..0945cc928 100644 --- a/src/Makefile +++ b/src/Makefile @@ -2052,7 +2052,7 @@ test1 \ test60 test64 test65 test66 test67 test68 test69 \ test70 test72 test73 test74 test75 test77 test78 test79 \ test80 test82 test83 test84 test85 test86 test87 test88 test89 \ - test90 test91 test92 test93 test94 test95 test97 test98 test99 \ + test90 test91 test94 test95 test97 test98 test99 \ test100 test101 test103 test104 test107 test108: cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE) @@ -2118,6 +2118,8 @@ test_arglist \ test_matchadd_conceal_utf8 \ test_menu \ test_messages \ + test_mksession \ + test_mksession_utf8 \ test_nested_function \ test_netbeans \ test_normal \ diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak index 49d2de024..17c70f345 100644 --- a/src/testdir/Make_all.mak +++ b/src/testdir/Make_all.mak @@ -63,8 +63,6 @@ SCRIPTS_ALL = \ test88.out \ test90.out \ test91.out \ - test92.out \ - test93.out \ test94.out \ test95.out \ test98.out \ @@ -167,6 +165,8 @@ NEW_TESTS = test_arglist.res \ test_man.res \ test_marks.res \ test_matchadd_conceal.res \ + test_mksession.res \ + test_mksession_utf8.res \ test_nested_function.res \ test_netbeans.res \ test_normal.res \ diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms index 6962cf007..43e141633 100644 --- a/src/testdir/Make_vms.mms +++ b/src/testdir/Make_vms.mms @@ -92,7 +92,7 @@ SCRIPT = test1.out test3.out test4.out test5.out \ test72.out test75.out \ test77a.out test78.out test79.out test80.out \ test82.out test84.out test88.out test89.out \ - test90.out test91.out test92.out test93.out test94.out \ + test90.out test91.out test94.out \ test95.out test98.out test99.out \ test103.out test104.out \ test107.out test108.out\ diff --git a/src/testdir/test92.in b/src/testdir/test92.in deleted file mode 100644 index 9593aec4c..000000000 --- a/src/testdir/test92.in +++ /dev/null @@ -1,48 +0,0 @@ -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! test.out -: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 deleted file mode 100644 index cca5ec487..000000000 --- a/src/testdir/test92.ok +++ /dev/null @@ -1,26 +0,0 @@ -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 deleted file mode 100644 index 877838ce1..000000000 --- a/src/testdir/test93.in +++ /dev/null @@ -1,48 +0,0 @@ -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! test.out -: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 deleted file mode 100644 index cca5ec487..000000000 --- a/src/testdir/test93.ok +++ /dev/null @@ -1,26 +0,0 @@ -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/test_mksession.vim b/src/testdir/test_mksession.vim new file mode 100644 index 000000000..c19f3c56a --- /dev/null +++ b/src/testdir/test_mksession.vim @@ -0,0 +1,104 @@ +" Test for :mksession, :mkview and :loadview in latin1 encoding + +set encoding=latin1 +scriptencoding latin1 + +if !has('multi_byte') || !has('mksession') + finish +endif + +func Test_mksession() + tabnew + let wrap_save = &wrap + set sessionoptions=buffers splitbelow fileencoding=latin1 + call setline(1, [ + \ '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' + \ ]) + let tmpfile = tempname() + exec 'w! ' . tmpfile + /^start: + set wrap + vsplit + norm! j16| + split + norm! j16| + split + norm! j16| + split + norm! j8| + split + norm! j8| + split + norm! j16| + split + norm! j16| + split + norm! j16| + wincmd l + + set nowrap + /^start: + norm! j16|3zl + split + norm! j016|3zl + split + norm! j016|3zl + split + norm! j08|3zl + split + norm! j08|3zl + split + norm! j016|3zl + split + norm! j016|3zl + split + norm! j016|3zl + split + call wincol() + mksession! test_mks.out + let li = filter(readfile('test_mks.out'), 'v:val =~# "\\(^ *normal! 0\\|^ *exe ''normal!\\)"') + let expected = [ + \ '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|" + \ ] + call assert_equal(expected, li) + tabclose! + + call delete('test_mks.out') + call delete(tmpfile) + let &wrap = wrap_save +endfunc + +" vim: shiftwidth=2 sts=2 expandtab diff --git a/src/testdir/test_mksession_utf8.vim b/src/testdir/test_mksession_utf8.vim new file mode 100644 index 000000000..c05a1d3b6 --- /dev/null +++ b/src/testdir/test_mksession_utf8.vim @@ -0,0 +1,104 @@ +" Test for :mksession, :mkview and :loadview in utf-8 encoding + +set encoding=utf-8 +scriptencoding utf-8 + +if !has('multi_byte') || !has('mksession') + finish +endif + +func Test_mksession_utf8() + tabnew + let wrap_save = &wrap + set sessionoptions=buffers splitbelow fileencoding=utf-8 + call setline(1, [ + \ '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' + \ ]) + let tmpfile = tempname() + exec 'w! ' . tmpfile + /^start: + set wrap + vsplit + norm! j16| + split + norm! j16| + split + norm! j16| + split + norm! j8| + split + norm! j8| + split + norm! j16| + split + norm! j16| + split + norm! j16| + wincmd l + + set nowrap + /^start: + norm! j16|3zl + split + norm! j016|3zl + split + norm! j016|3zl + split + norm! j08|3zl + split + norm! j08|3zl + split + norm! j016|3zl + split + norm! j016|3zl + split + norm! j016|3zl + split + call wincol() + mksession! test_mks.out + let li = filter(readfile('test_mks.out'), 'v:val =~# "\\(^ *normal! 0\\|^ *exe ''normal!\\)"') + let expected = [ + \ '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|" + \ ] + call assert_equal(expected, li) + tabclose! + + call delete('test_mks.out') + call delete(tmpfile) + let &wrap = wrap_save +endfunc + +" vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c index 75e1222ac..557e990b2 100644 --- a/src/version.c +++ b/src/version.c @@ -765,6 +765,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 112, +/**/ 111, /**/ 110, |