# HG changeset patch # User Christian Brabandt # Date 1469126706 -7200 # Node ID 81ba6e4eb72bd57680a5bb1db11657f260e1af01 # Parent 3682c229ac32d7e77a4622db4521fded8c4432e3 commit https://github.com/vim/vim/commit/ac105ed3c420660ddbddc501c97875c48220817e Author: Bram Moolenaar Date: Thu Jul 21 20:33:32 2016 +0200 patch 7.4.2086 Problem: Using the system default encoding makes tests unpredictable. Solution: Always use utf-8 or latin1 in the new style tests. Remove setting encoding and scriptencoding where it is not needed. diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim --- a/src/testdir/runtest.vim +++ b/src/testdir/runtest.vim @@ -49,6 +49,14 @@ source setup.vim " This also enables use of line continuation. set nocp viminfo+=nviminfo +" Use utf-8 or latin1 be default, instead of whatever the system default +" happens to be. Individual tests can overrule this at the top of the file. +if has('multi_byte') + set encoding=utf-8 +else + set encoding=latin1 +endif + " Avoid stopping at the "hit enter" prompt set nomore diff --git a/src/testdir/test_alot_utf8.vim b/src/testdir/test_alot_utf8.vim --- a/src/testdir/test_alot_utf8.vim +++ b/src/testdir/test_alot_utf8.vim @@ -1,7 +1,8 @@ " A series of tests that can run in one Vim invocation. " This makes testing go faster, since Vim doesn't need to restart. -" These tests use utf8 'encoding'. Setting 'encoding' is in the individual +" These tests use utf8 'encoding'. Setting 'encoding' is already done in +" runtest.vim. Checking for the multi_byte feature is in the individual " files, so that they can be run by themselves. source test_expr_utf8.vim diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim --- a/src/testdir/test_channel.vim +++ b/src/testdir/test_channel.vim @@ -1,5 +1,4 @@ " Test for channel functions. -scriptencoding utf-8 if !has('channel') finish diff --git a/src/testdir/test_digraph.vim b/src/testdir/test_digraph.vim --- a/src/testdir/test_digraph.vim +++ b/src/testdir/test_digraph.vim @@ -4,9 +4,6 @@ if !has("digraphs") || !has("multi_byte" finish endif -set enc=utf-8 -scriptencoding utf-8 - func! Put_Dig(chars) exe "norm! o\".a:chars endfu diff --git a/src/testdir/test_expand_dllpath.vim b/src/testdir/test_expand_dllpath.vim --- a/src/testdir/test_expand_dllpath.vim +++ b/src/testdir/test_expand_dllpath.vim @@ -1,5 +1,3 @@ -scriptencoding utf-8 - func s:test_expand_dllpath(optname) let $TEST_EXPAND_DLLPATH = '/dllpath/lib' . substitute(a:optname, '\zedll$', '.', '') execute 'let dllpath_save = &' . a:optname diff --git a/src/testdir/test_expr_utf8.vim b/src/testdir/test_expr_utf8.vim --- a/src/testdir/test_expr_utf8.vim +++ b/src/testdir/test_expr_utf8.vim @@ -2,8 +2,6 @@ if !has('multi_byte') finish endif -set encoding=utf-8 -scriptencoding utf-8 func Test_strgetchar() call assert_equal(char2nr('á'), strgetchar('áxb', 0)) diff --git a/src/testdir/test_json.vim b/src/testdir/test_json.vim --- a/src/testdir/test_json.vim +++ b/src/testdir/test_json.vim @@ -1,12 +1,9 @@ " Test for JSON functions. -" JSON requires using utf-8. Conversion breaks the asserts, therefore set -" 'encoding' to utf-8. +" JSON requires using utf-8, because conversion breaks the asserts. if !has('multi_byte') finish endif -set encoding=utf-8 -scriptencoding utf-8 let s:json1 = '"str\"in\\g"' let s:var1 = "str\"in\\g" diff --git a/src/testdir/test_matchadd_conceal_utf8.vim b/src/testdir/test_matchadd_conceal_utf8.vim --- a/src/testdir/test_matchadd_conceal_utf8.vim +++ b/src/testdir/test_matchadd_conceal_utf8.vim @@ -2,8 +2,6 @@ if !has('conceal') || !has('multi_byte') finish endif -set encoding=utf-8 -scriptencoding utf-8 if !has('gui_running') && has('unix') set term=ansi diff --git a/src/testdir/test_regexp_utf8.vim b/src/testdir/test_regexp_utf8.vim --- a/src/testdir/test_regexp_utf8.vim +++ b/src/testdir/test_regexp_utf8.vim @@ -2,8 +2,6 @@ if !has('multi_byte') finish endif -set encoding=utf-8 -scriptencoding utf-8 func s:equivalence_test() let str = "AÀÁÂÃÄÅĀĂĄǍǞǠẢ BḂḆ CÇĆĈĊČ DĎĐḊḎḐ EÈÉÊËĒĔĖĘĚẺẼ FḞ GĜĞĠĢǤǦǴḠ HĤĦḢḦḨ IÌÍÎÏĨĪĬĮİǏỈ JĴ KĶǨḰḴ LĹĻĽĿŁḺ MḾṀ NÑŃŅŇṄṈ OÒÓÔÕÖØŌŎŐƠǑǪǬỎ PṔṖ Q RŔŖŘṘṞ SŚŜŞŠṠ TŢŤŦṪṮ UÙÚÛÜŨŪŬŮŰŲƯǓỦ VṼ WŴẀẂẄẆ XẊẌ YÝŶŸẎỲỶỸ ZŹŻŽƵẐẔ aàáâãäåāăąǎǟǡả bḃḇ cçćĉċč dďđḋḏḑ eèéêëēĕėęěẻẽ fḟ gĝğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįǐỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṁ nñńņňʼnṅṉ oòóôõöøōŏőơǒǫǭỏ pṕṗ q rŕŗřṙṟ sśŝşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vṽ wŵẁẃẅẇẘ xẋẍ yýÿŷẏẙỳỷỹ zźżžƶẑẕ" diff --git a/src/testdir/test_visual.vim b/src/testdir/test_visual.vim --- a/src/testdir/test_visual.vim +++ b/src/testdir/test_visual.vim @@ -1,9 +1,7 @@ -" Tests for Visual mode +" Tests for Visual mode. Uses double-wide character. if !has('multi_byte') finish endif -set encoding=utf-8 -scriptencoding utf-8 if !has('visual') finish diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -759,6 +759,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2086, +/**/ 2085, /**/ 2084,