1fabaf753SBram Moolenaar" Tests for various eval things.
2fabaf753SBram Moolenaar
3*2b6ef856SBram Moolenaarsource view_util.vim
4*2b6ef856SBram Moolenaar
5fabaf753SBram Moolenaarfunction s:foo() abort
6fabaf753SBram Moolenaar  try
7fabaf753SBram Moolenaar    return [] == 0
8fabaf753SBram Moolenaar  catch
9fabaf753SBram Moolenaar    return 1
10fabaf753SBram Moolenaar  endtry
11fabaf753SBram Moolenaarendfunction
12fabaf753SBram Moolenaar
13fabaf753SBram Moolenaarfunc Test_catch_return_with_error()
14fabaf753SBram Moolenaar  call assert_equal(1, s:foo())
15fabaf753SBram Moolenaarendfunc
162be57331SBram Moolenaar
172be57331SBram Moolenaarfunc Test_nocatch_restore_silent_emsg()
182be57331SBram Moolenaar  silent! try
192be57331SBram Moolenaar    throw 1
202be57331SBram Moolenaar  catch
212be57331SBram Moolenaar  endtry
22*2b6ef856SBram Moolenaar  echoerr 'wrong again'
23*2b6ef856SBram Moolenaar  call assert_equal('wrong again', ScreenLine(&lines))
242be57331SBram Moolenaarendfunc
2578a16b0fSBram Moolenaar
2678a16b0fSBram Moolenaarfunc Test_mkdir_p()
2778a16b0fSBram Moolenaar  call mkdir('Xmkdir/nested', 'p')
2878a16b0fSBram Moolenaar  call assert_true(isdirectory('Xmkdir/nested'))
2978a16b0fSBram Moolenaar  try
3078a16b0fSBram Moolenaar    " Trying to make existing directories doesn't error
3178a16b0fSBram Moolenaar    call mkdir('Xmkdir', 'p')
3278a16b0fSBram Moolenaar    call mkdir('Xmkdir/nested', 'p')
3378a16b0fSBram Moolenaar  catch /E739:/
3478a16b0fSBram Moolenaar    call assert_report('mkdir(..., "p") failed for an existing directory')
3578a16b0fSBram Moolenaar  endtry
3678a16b0fSBram Moolenaar  " 'p' doesn't suppress real errors
3778a16b0fSBram Moolenaar  call writefile([], 'Xfile')
3878a16b0fSBram Moolenaar  call assert_fails('call mkdir("Xfile", "p")', 'E739')
3978a16b0fSBram Moolenaar  call delete('Xfile')
4078a16b0fSBram Moolenaar  call delete('Xmkdir', 'rf')
4192b83ccfSBram Moolenaar  call assert_equal(0, mkdir(test_null_string()))
4292b83ccfSBram Moolenaar  call assert_fails('call mkdir([])', 'E730')
4392b83ccfSBram Moolenaar  call assert_fails('call mkdir("abc", [], [])', 'E745')
4478a16b0fSBram Moolenaarendfunc
4567f8ab82SBram Moolenaar
4667f8ab82SBram Moolenaarfunc Test_line_continuation()
4767f8ab82SBram Moolenaar  let array = [5,
4867f8ab82SBram Moolenaar	"\ ignore this
4967f8ab82SBram Moolenaar	\ 6,
5067f8ab82SBram Moolenaar	"\ more to ignore
5167f8ab82SBram Moolenaar	"\ more moreto ignore
5267f8ab82SBram Moolenaar	\ ]
5367f8ab82SBram Moolenaar	"\ and some more
5467f8ab82SBram Moolenaar  call assert_equal([5, 6], array)
5567f8ab82SBram Moolenaarendfunc
5688b53fd0SBram Moolenaar
5788b53fd0SBram Moolenaarfunc Test_E963()
5888b53fd0SBram Moolenaar  " These commands used to cause an internal error prior to vim 8.1.0563
5988b53fd0SBram Moolenaar  let v_e = v:errors
6088b53fd0SBram Moolenaar  let v_o = v:oldfiles
6188b53fd0SBram Moolenaar  call assert_fails("let v:errors=''", 'E963:')
6288b53fd0SBram Moolenaar  call assert_equal(v_e, v:errors)
6388b53fd0SBram Moolenaar  call assert_fails("let v:oldfiles=''", 'E963:')
6488b53fd0SBram Moolenaar  call assert_equal(v_o, v:oldfiles)
6588b53fd0SBram Moolenaarendfunc
66c0f5a78cSBram Moolenaar
67c0f5a78cSBram Moolenaarfunc Test_for_invalid()
68c0f5a78cSBram Moolenaar  call assert_fails("for x in 99", 'E714:')
69c0f5a78cSBram Moolenaar  call assert_fails("for x in 'asdf'", 'E714:')
70c0f5a78cSBram Moolenaar  call assert_fails("for x in {'a': 9}", 'E714:')
71c0f5a78cSBram Moolenaarendfunc
7205500eceSBram Moolenaar
7305500eceSBram Moolenaarfunc Test_readfile_binary()
7405500eceSBram Moolenaar  new
7505500eceSBram Moolenaar  call setline(1, ['one', 'two', 'three'])
7605500eceSBram Moolenaar  setlocal ff=dos
7760a8de28SBram Moolenaar  silent write XReadfile
78a0d1fef4SBram Moolenaar  let lines = 'XReadfile'->readfile()
7905500eceSBram Moolenaar  call assert_equal(['one', 'two', 'three'], lines)
8005500eceSBram Moolenaar  let lines = readfile('XReadfile', '', 2)
8105500eceSBram Moolenaar  call assert_equal(['one', 'two'], lines)
8205500eceSBram Moolenaar  let lines = readfile('XReadfile', 'b')
8305500eceSBram Moolenaar  call assert_equal(["one\r", "two\r", "three\r", ""], lines)
8405500eceSBram Moolenaar  let lines = readfile('XReadfile', 'b', 2)
8505500eceSBram Moolenaar  call assert_equal(["one\r", "two\r"], lines)
8605500eceSBram Moolenaar
8705500eceSBram Moolenaar  bwipe!
8805500eceSBram Moolenaar  call delete('XReadfile')
8905500eceSBram Moolenaarendfunc
904b9e91f0SBram Moolenaar
914b9e91f0SBram Moolenaarfunc Test_let_errmsg()
924b9e91f0SBram Moolenaar  call assert_fails('let v:errmsg = []', 'E730:')
934b9e91f0SBram Moolenaar  let v:errmsg = ''
944b9e91f0SBram Moolenaar  call assert_fails('let v:errmsg = []', 'E730:')
954b9e91f0SBram Moolenaar  let v:errmsg = ''
964b9e91f0SBram Moolenaarendfunc
970f248b00SBram Moolenaar
980f248b00SBram Moolenaarfunc Test_string_concatenation()
990f248b00SBram Moolenaar  call assert_equal('ab', 'a'.'b')
1000f248b00SBram Moolenaar  call assert_equal('ab', 'a' .'b')
1010f248b00SBram Moolenaar  call assert_equal('ab', 'a'. 'b')
1020f248b00SBram Moolenaar  call assert_equal('ab', 'a' . 'b')
1030f248b00SBram Moolenaar
1040f248b00SBram Moolenaar  call assert_equal('ab', 'a'..'b')
1050f248b00SBram Moolenaar  call assert_equal('ab', 'a' ..'b')
1060f248b00SBram Moolenaar  call assert_equal('ab', 'a'.. 'b')
1070f248b00SBram Moolenaar  call assert_equal('ab', 'a' .. 'b')
1080f248b00SBram Moolenaar
1090f248b00SBram Moolenaar  let a = 'a'
1100f248b00SBram Moolenaar  let b = 'b'
1110f248b00SBram Moolenaar  let a .= b
1120f248b00SBram Moolenaar  call assert_equal('ab', a)
1130f248b00SBram Moolenaar
1140f248b00SBram Moolenaar  let a = 'a'
1150f248b00SBram Moolenaar  let a.=b
1160f248b00SBram Moolenaar  call assert_equal('ab', a)
1170f248b00SBram Moolenaar
1180f248b00SBram Moolenaar  let a = 'a'
1190f248b00SBram Moolenaar  let a ..= b
1200f248b00SBram Moolenaar  call assert_equal('ab', a)
1210f248b00SBram Moolenaar
1220f248b00SBram Moolenaar  let a = 'a'
1230f248b00SBram Moolenaar  let a..=b
1240f248b00SBram Moolenaar  call assert_equal('ab', a)
1250f248b00SBram Moolenaarendfunc
126558ca4aeSBram Moolenaar
12760a8de28SBram Moolenaar" Test fix for issue #4507
12860a8de28SBram Moolenaarfunc Test_skip_after_throw()
12960a8de28SBram Moolenaar  try
13060a8de28SBram Moolenaar    throw 'something'
13160a8de28SBram Moolenaar    let x = wincol() || &ts
13260a8de28SBram Moolenaar  catch /something/
13360a8de28SBram Moolenaar  endtry
13460a8de28SBram Moolenaarendfunc
13560a8de28SBram Moolenaar
136558ca4aeSBram Moolenaarscriptversion 2
137558ca4aeSBram Moolenaarfunc Test_string_concat_scriptversion2()
13893a4879cSBram Moolenaar  call assert_true(has('vimscript-2'))
139558ca4aeSBram Moolenaar  let a = 'a'
140558ca4aeSBram Moolenaar  let b = 'b'
141558ca4aeSBram Moolenaar
142558ca4aeSBram Moolenaar  call assert_fails('echo a . b', 'E15:')
143558ca4aeSBram Moolenaar  call assert_fails('let a .= b', 'E985:')
144558ca4aeSBram Moolenaar  call assert_fails('let vers = 1.2.3', 'E15:')
145558ca4aeSBram Moolenaar
146558ca4aeSBram Moolenaar  if has('float')
147558ca4aeSBram Moolenaar    let f = .5
148558ca4aeSBram Moolenaar    call assert_equal(0.5, f)
149558ca4aeSBram Moolenaar  endif
150558ca4aeSBram Moolenaarendfunc
151558ca4aeSBram Moolenaar
152558ca4aeSBram Moolenaarscriptversion 1
153558ca4aeSBram Moolenaarfunc Test_string_concat_scriptversion1()
15493a4879cSBram Moolenaar  call assert_true(has('vimscript-1'))
155558ca4aeSBram Moolenaar  let a = 'a'
156558ca4aeSBram Moolenaar  let b = 'b'
157558ca4aeSBram Moolenaar
158558ca4aeSBram Moolenaar  echo a . b
159558ca4aeSBram Moolenaar  let a .= b
160558ca4aeSBram Moolenaar  let vers = 1.2.3
161558ca4aeSBram Moolenaar  call assert_equal('123', vers)
162558ca4aeSBram Moolenaar
163558ca4aeSBram Moolenaar  if has('float')
164558ca4aeSBram Moolenaar    call assert_fails('let f = .5', 'E15:')
165558ca4aeSBram Moolenaar  endif
166558ca4aeSBram Moolenaarendfunc
167558ca4aeSBram Moolenaar
168d2e716e6SBram Moolenaarscriptversion 3
169d2e716e6SBram Moolenaarfunc Test_vvar_scriptversion3()
17093a4879cSBram Moolenaar  call assert_true(has('vimscript-3'))
171d2e716e6SBram Moolenaar  call assert_fails('echo version', 'E121:')
172d2e716e6SBram Moolenaar  call assert_false(exists('version'))
173d2e716e6SBram Moolenaar  let version = 1
174d2e716e6SBram Moolenaar  call assert_equal(1, version)
175d2e716e6SBram Moolenaarendfunc
176d2e716e6SBram Moolenaar
177d2e716e6SBram Moolenaarscriptversion 2
178d2e716e6SBram Moolenaarfunc Test_vvar_scriptversion2()
179d2e716e6SBram Moolenaar  call assert_true(exists('version'))
180d2e716e6SBram Moolenaar  echo version
181d2e716e6SBram Moolenaar  call assert_fails('let version = 1', 'E46:')
182d2e716e6SBram Moolenaar  call assert_equal(v:version, version)
18337df9a44SBram Moolenaar
18437df9a44SBram Moolenaar  call assert_equal(v:version, v:versionlong / 10000)
18537df9a44SBram Moolenaar  call assert_true(v:versionlong > 8011525)
186d2e716e6SBram Moolenaarendfunc
187d2e716e6SBram Moolenaar
18861343f0cSBram Moolenaarfunc Test_dict_access_scriptversion2()
18961343f0cSBram Moolenaar  let l:x = {'foo': 1}
19061343f0cSBram Moolenaar
19161343f0cSBram Moolenaar  call assert_false(0 && l:x.foo)
19261343f0cSBram Moolenaar  call assert_true(1 && l:x.foo)
19361343f0cSBram Moolenaarendfunc
19461343f0cSBram Moolenaar
19560a8de28SBram Moolenaarscriptversion 4
19660a8de28SBram Moolenaarfunc Test_vvar_scriptversion4()
197af914383SBram Moolenaar  call assert_true(has('vimscript-4'))
19860a8de28SBram Moolenaar  call assert_equal(17, 017)
199c17e66c5SBram Moolenaar  call assert_equal(15, 0o17)
200c17e66c5SBram Moolenaar  call assert_equal(15, 0O17)
20160a8de28SBram Moolenaar  call assert_equal(18, 018)
20260a8de28SBram Moolenaar  call assert_equal(64, 0b1'00'00'00)
20360a8de28SBram Moolenaar  call assert_equal(1048576, 0x10'00'00)
204c17e66c5SBram Moolenaar  call assert_equal(32768, 0o10'00'00)
20560a8de28SBram Moolenaar  call assert_equal(1000000, 1'000'000)
206ea8dcf83SBram Moolenaar  call assert_equal("1234", execute("echo 1'234")->trim())
207ea8dcf83SBram Moolenaar  call assert_equal('1  234', execute("echo 1''234")->trim())
208ea8dcf83SBram Moolenaar  call assert_fails("echo 1'''234", 'E115:')
20960a8de28SBram Moolenaarendfunc
21060a8de28SBram Moolenaar
21160a8de28SBram Moolenaarscriptversion 1
21260a8de28SBram Moolenaarfunc Test_vvar_scriptversion1()
21360a8de28SBram Moolenaar  call assert_equal(15, 017)
214c17e66c5SBram Moolenaar  call assert_equal(15, 0o17)
215c17e66c5SBram Moolenaar  call assert_equal(15, 0O17)
21660a8de28SBram Moolenaar  call assert_equal(18, 018)
21760a8de28SBram Moolenaarendfunc
21860a8de28SBram Moolenaar
21960a8de28SBram Moolenaarfunc Test_scriptversion_fail()
220558ca4aeSBram Moolenaar  call writefile(['scriptversion 9'], 'Xversionscript')
221558ca4aeSBram Moolenaar  call assert_fails('source Xversionscript', 'E999:')
222558ca4aeSBram Moolenaar  call delete('Xversionscript')
223558ca4aeSBram Moolenaarendfunc
224b662591eSBram Moolenaar
2259d8d0b5cSBram Moolenaarfunc Test_execute_cmd_with_null()
226b662591eSBram Moolenaar  call assert_fails('execute test_null_list()', 'E730:')
227b662591eSBram Moolenaar  call assert_fails('execute test_null_dict()', 'E731:')
228b662591eSBram Moolenaar  call assert_fails('execute test_null_blob()', 'E976:')
229b662591eSBram Moolenaar  execute test_null_string()
230b662591eSBram Moolenaar  call assert_fails('execute test_null_partial()', 'E729:')
23192b83ccfSBram Moolenaar  call assert_fails('execute test_unknown()', 'E908:')
232b662591eSBram Moolenaar  if has('job')
233b662591eSBram Moolenaar    call assert_fails('execute test_null_job()', 'E908:')
234b662591eSBram Moolenaar    call assert_fails('execute test_null_channel()', 'E908:')
235b662591eSBram Moolenaar  endif
236b662591eSBram Moolenaarendfunc
237f9706e9dSBram Moolenaar
238f9706e9dSBram Moolenaarfunc Test_numbersize()
239f9706e9dSBram Moolenaar  " This will fail on systems without 64 bit int support or when not configured
240f9706e9dSBram Moolenaar  " correctly.
241f9706e9dSBram Moolenaar  call assert_equal(64, v:numbersize)
242f9706e9dSBram Moolenaarendfunc
2438b633135SBram Moolenaar
24490455cfaSBram Moolenaarfunc Assert_reg(name, type, value, valuestr, expr, exprstr)
24590455cfaSBram Moolenaar  call assert_equal(a:type, getregtype(a:name))
24690455cfaSBram Moolenaar  call assert_equal(a:value, getreg(a:name))
24790455cfaSBram Moolenaar  call assert_equal(a:valuestr, string(getreg(a:name, 0, 1)))
24890455cfaSBram Moolenaar  call assert_equal(a:expr, getreg(a:name, 1))
24990455cfaSBram Moolenaar  call assert_equal(a:exprstr, string(getreg(a:name, 1, 1)))
25090455cfaSBram Moolenaarendfunc
25190455cfaSBram Moolenaar
25290455cfaSBram Moolenaarfunc Test_let_register()
25390455cfaSBram Moolenaar  let @" = 'abc'
25490455cfaSBram Moolenaar  call Assert_reg('"', 'v', "abc", "['abc']", "abc", "['abc']")
25590455cfaSBram Moolenaar  let @" = "abc\n"
25690455cfaSBram Moolenaar  call Assert_reg('"', 'V', "abc\n", "['abc']", "abc\n", "['abc']")
25790455cfaSBram Moolenaar  let @" = "abc\<C-m>"
25890455cfaSBram Moolenaar  call Assert_reg('"', 'V', "abc\r\n", "['abc\r']", "abc\r\n", "['abc\r']")
25990455cfaSBram Moolenaar  let @= = '"abc"'
26090455cfaSBram Moolenaar  call Assert_reg('=', 'v', "abc", "['abc']", '"abc"', "['\"abc\"']")
26190455cfaSBram Moolenaarendfunc
26290455cfaSBram Moolenaar
26390455cfaSBram Moolenaarfunc Assert_regput(name, result)
26490455cfaSBram Moolenaar  new
26590455cfaSBram Moolenaar  execute "silent normal! o==\n==\e\"" . a:name . "P"
26690455cfaSBram Moolenaar  call assert_equal(a:result, getline(2, line('$')))
26761fbb337SBram Moolenaar  bwipe!
26890455cfaSBram Moolenaarendfunc
26990455cfaSBram Moolenaar
27090455cfaSBram Moolenaarfunc Test_setreg_basic()
27190455cfaSBram Moolenaar  call setreg('a', 'abcA', 'c')
27290455cfaSBram Moolenaar  call Assert_reg('a', 'v', "abcA", "['abcA']", "abcA", "['abcA']")
27390455cfaSBram Moolenaar  call Assert_regput('a', ['==', '=abcA='])
27490455cfaSBram Moolenaar
27590455cfaSBram Moolenaar  call setreg('A', 'abcAc', 'c')
27690455cfaSBram Moolenaar  call Assert_reg('A', 'v', "abcAabcAc", "['abcAabcAc']", "abcAabcAc", "['abcAabcAc']")
27790455cfaSBram Moolenaar  call Assert_regput('a', ['==', '=abcAabcAc='])
27890455cfaSBram Moolenaar
27990455cfaSBram Moolenaar  call setreg('A', 'abcAl', 'l')
28090455cfaSBram Moolenaar  call Assert_reg('A', 'V', "abcAabcAcabcAl\n", "['abcAabcAcabcAl']", "abcAabcAcabcAl\n", "['abcAabcAcabcAl']")
28190455cfaSBram Moolenaar  call Assert_regput('a', ['==', 'abcAabcAcabcAl', '=='])
28290455cfaSBram Moolenaar
28390455cfaSBram Moolenaar  call setreg('A', 'abcAc2','c')
28490455cfaSBram Moolenaar  call Assert_reg('A', 'v', "abcAabcAcabcAl\nabcAc2", "['abcAabcAcabcAl', 'abcAc2']", "abcAabcAcabcAl\nabcAc2", "['abcAabcAcabcAl', 'abcAc2']")
28590455cfaSBram Moolenaar  call Assert_regput('a', ['==', '=abcAabcAcabcAl', 'abcAc2='])
28690455cfaSBram Moolenaar
28790455cfaSBram Moolenaar  call setreg('b', 'abcB', 'v')
28890455cfaSBram Moolenaar  call Assert_reg('b', 'v', "abcB", "['abcB']", "abcB", "['abcB']")
28990455cfaSBram Moolenaar  call Assert_regput('b', ['==', '=abcB='])
29090455cfaSBram Moolenaar
29190455cfaSBram Moolenaar  call setreg('b', 'abcBc', 'ca')
29290455cfaSBram Moolenaar  call Assert_reg('b', 'v', "abcBabcBc", "['abcBabcBc']", "abcBabcBc", "['abcBabcBc']")
29390455cfaSBram Moolenaar  call Assert_regput('b', ['==', '=abcBabcBc='])
29490455cfaSBram Moolenaar
29590455cfaSBram Moolenaar  call setreg('b', 'abcBb', 'ba')
29690455cfaSBram Moolenaar  call Assert_reg('b', "\<C-V>5", "abcBabcBcabcBb", "['abcBabcBcabcBb']", "abcBabcBcabcBb", "['abcBabcBcabcBb']")
29790455cfaSBram Moolenaar  call Assert_regput('b', ['==', '=abcBabcBcabcBb='])
29890455cfaSBram Moolenaar
29990455cfaSBram Moolenaar  call setreg('b', 'abcBc2','ca')
30090455cfaSBram Moolenaar  call Assert_reg('b', "v", "abcBabcBcabcBb\nabcBc2", "['abcBabcBcabcBb', 'abcBc2']", "abcBabcBcabcBb\nabcBc2", "['abcBabcBcabcBb', 'abcBc2']")
30190455cfaSBram Moolenaar  call Assert_regput('b', ['==', '=abcBabcBcabcBb', 'abcBc2='])
30290455cfaSBram Moolenaar
30390455cfaSBram Moolenaar  call setreg('b', 'abcBb2','b50a')
30490455cfaSBram Moolenaar  call Assert_reg('b', "\<C-V>50", "abcBabcBcabcBb\nabcBc2abcBb2", "['abcBabcBcabcBb', 'abcBc2abcBb2']", "abcBabcBcabcBb\nabcBc2abcBb2", "['abcBabcBcabcBb', 'abcBc2abcBb2']")
30590455cfaSBram Moolenaar  call Assert_regput('b', ['==', '=abcBabcBcabcBb                                    =', ' abcBc2abcBb2'])
30690455cfaSBram Moolenaar
30790455cfaSBram Moolenaar  call setreg('c', 'abcC', 'l')
30890455cfaSBram Moolenaar  call Assert_reg('c', 'V', "abcC\n", "['abcC']", "abcC\n", "['abcC']")
30990455cfaSBram Moolenaar  call Assert_regput('c', ['==', 'abcC', '=='])
31090455cfaSBram Moolenaar
31190455cfaSBram Moolenaar  call setreg('C', 'abcCl', 'l')
31290455cfaSBram Moolenaar  call Assert_reg('C', 'V', "abcC\nabcCl\n", "['abcC', 'abcCl']", "abcC\nabcCl\n", "['abcC', 'abcCl']")
31390455cfaSBram Moolenaar  call Assert_regput('c', ['==', 'abcC', 'abcCl', '=='])
31490455cfaSBram Moolenaar
31590455cfaSBram Moolenaar  call setreg('C', 'abcCc', 'c')
31690455cfaSBram Moolenaar  call Assert_reg('C', 'v', "abcC\nabcCl\nabcCc", "['abcC', 'abcCl', 'abcCc']", "abcC\nabcCl\nabcCc", "['abcC', 'abcCl', 'abcCc']")
31790455cfaSBram Moolenaar  call Assert_regput('c', ['==', '=abcC', 'abcCl', 'abcCc='])
31890455cfaSBram Moolenaar
31990455cfaSBram Moolenaar  call setreg('d', 'abcD', 'V')
32090455cfaSBram Moolenaar  call Assert_reg('d', 'V', "abcD\n", "['abcD']", "abcD\n", "['abcD']")
32190455cfaSBram Moolenaar  call Assert_regput('d', ['==', 'abcD', '=='])
32290455cfaSBram Moolenaar
32390455cfaSBram Moolenaar  call setreg('D', 'abcDb', 'b')
32490455cfaSBram Moolenaar  call Assert_reg('d', "\<C-V>5", "abcD\nabcDb", "['abcD', 'abcDb']", "abcD\nabcDb", "['abcD', 'abcDb']")
32590455cfaSBram Moolenaar  call Assert_regput('d', ['==', '=abcD =', ' abcDb'])
32690455cfaSBram Moolenaar
32790455cfaSBram Moolenaar  call setreg('e', 'abcE', 'b')
32890455cfaSBram Moolenaar  call Assert_reg('e', "\<C-V>4", "abcE", "['abcE']", "abcE", "['abcE']")
32990455cfaSBram Moolenaar  call Assert_regput('e', ['==', '=abcE='])
33090455cfaSBram Moolenaar
33190455cfaSBram Moolenaar  call setreg('E', 'abcEb', 'b')
33290455cfaSBram Moolenaar  call Assert_reg('E', "\<C-V>5", "abcE\nabcEb", "['abcE', 'abcEb']", "abcE\nabcEb", "['abcE', 'abcEb']")
33390455cfaSBram Moolenaar  call Assert_regput('e', ['==', '=abcE =', ' abcEb'])
33490455cfaSBram Moolenaar
33590455cfaSBram Moolenaar  call setreg('E', 'abcEl', 'l')
33690455cfaSBram Moolenaar  call Assert_reg('E', "V", "abcE\nabcEb\nabcEl\n", "['abcE', 'abcEb', 'abcEl']", "abcE\nabcEb\nabcEl\n", "['abcE', 'abcEb', 'abcEl']")
33790455cfaSBram Moolenaar  call Assert_regput('e', ['==', 'abcE', 'abcEb', 'abcEl', '=='])
33890455cfaSBram Moolenaar
33990455cfaSBram Moolenaar  call setreg('f', 'abcF', "\<C-v>")
34090455cfaSBram Moolenaar  call Assert_reg('f', "\<C-V>4", "abcF", "['abcF']", "abcF", "['abcF']")
34190455cfaSBram Moolenaar  call Assert_regput('f', ['==', '=abcF='])
34290455cfaSBram Moolenaar
34390455cfaSBram Moolenaar  call setreg('F', 'abcFc', 'c')
34490455cfaSBram Moolenaar  call Assert_reg('F', "v", "abcF\nabcFc", "['abcF', 'abcFc']", "abcF\nabcFc", "['abcF', 'abcFc']")
34590455cfaSBram Moolenaar  call Assert_regput('f', ['==', '=abcF', 'abcFc='])
34690455cfaSBram Moolenaar
34790455cfaSBram Moolenaar  call setreg('g', 'abcG', 'b10')
34890455cfaSBram Moolenaar  call Assert_reg('g', "\<C-V>10", "abcG", "['abcG']", "abcG", "['abcG']")
34990455cfaSBram Moolenaar  call Assert_regput('g', ['==', '=abcG      ='])
35090455cfaSBram Moolenaar
35190455cfaSBram Moolenaar  call setreg('h', 'abcH', "\<C-v>10")
35290455cfaSBram Moolenaar  call Assert_reg('h', "\<C-V>10", "abcH", "['abcH']", "abcH", "['abcH']")
35390455cfaSBram Moolenaar  call Assert_regput('h', ['==', '=abcH      ='])
35490455cfaSBram Moolenaar
35590455cfaSBram Moolenaar  call setreg('I', 'abcI')
35690455cfaSBram Moolenaar  call Assert_reg('I', "v", "abcI", "['abcI']", "abcI", "['abcI']")
35790455cfaSBram Moolenaar  call Assert_regput('I', ['==', '=abcI='])
35890455cfaSBram Moolenaar
359339d60c8SBram Moolenaar  " Appending NL with setreg()
360339d60c8SBram Moolenaar  call setreg('a', 'abcA2', 'c')
361339d60c8SBram Moolenaar  call setreg('b', 'abcB2', 'v')
362339d60c8SBram Moolenaar  call setreg('c', 'abcC2', 'l')
363339d60c8SBram Moolenaar  call setreg('d', 'abcD2', 'V')
364339d60c8SBram Moolenaar  call setreg('e', 'abcE2', 'b')
365339d60c8SBram Moolenaar  call setreg('f', 'abcF2', "\<C-v>")
366339d60c8SBram Moolenaar  call setreg('g', 'abcG2', 'b10')
367339d60c8SBram Moolenaar  call setreg('h', 'abcH2', "\<C-v>10")
368339d60c8SBram Moolenaar  call setreg('I', 'abcI2')
369339d60c8SBram Moolenaar
370339d60c8SBram Moolenaar  call setreg('A', "\n")
371339d60c8SBram Moolenaar  call Assert_reg('A', 'V', "abcA2\n", "['abcA2']", "abcA2\n", "['abcA2']")
372339d60c8SBram Moolenaar  call Assert_regput('A', ['==', 'abcA2', '=='])
373339d60c8SBram Moolenaar
374339d60c8SBram Moolenaar  call setreg('B', "\n", 'c')
375339d60c8SBram Moolenaar  call Assert_reg('B', 'v', "abcB2\n", "['abcB2', '']", "abcB2\n", "['abcB2', '']")
376339d60c8SBram Moolenaar  call Assert_regput('B', ['==', '=abcB2', '='])
377339d60c8SBram Moolenaar
378339d60c8SBram Moolenaar  call setreg('C', "\n")
379339d60c8SBram Moolenaar  call Assert_reg('C', 'V', "abcC2\n\n", "['abcC2', '']", "abcC2\n\n", "['abcC2', '']")
380339d60c8SBram Moolenaar  call Assert_regput('C', ['==', 'abcC2', '', '=='])
381339d60c8SBram Moolenaar
382339d60c8SBram Moolenaar  call setreg('D', "\n", 'l')
383339d60c8SBram Moolenaar  call Assert_reg('D', 'V', "abcD2\n\n", "['abcD2', '']", "abcD2\n\n", "['abcD2', '']")
384339d60c8SBram Moolenaar  call Assert_regput('D', ['==', 'abcD2', '', '=='])
385339d60c8SBram Moolenaar
386339d60c8SBram Moolenaar  call setreg('E', "\n")
387339d60c8SBram Moolenaar  call Assert_reg('E', 'V', "abcE2\n\n", "['abcE2', '']", "abcE2\n\n", "['abcE2', '']")
388339d60c8SBram Moolenaar  call Assert_regput('E', ['==', 'abcE2', '', '=='])
389339d60c8SBram Moolenaar
390339d60c8SBram Moolenaar  call setreg('F', "\n", 'b')
391339d60c8SBram Moolenaar  call Assert_reg('F', "\<C-V>0", "abcF2\n", "['abcF2', '']", "abcF2\n", "['abcF2', '']")
392339d60c8SBram Moolenaar  call Assert_regput('F', ['==', '=abcF2=', ' '])
393339d60c8SBram Moolenaar
394339d60c8SBram Moolenaar  " Setting lists with setreg()
395339d60c8SBram Moolenaar  call setreg('a', ['abcA3'], 'c')
396339d60c8SBram Moolenaar  call Assert_reg('a', 'v', "abcA3", "['abcA3']", "abcA3", "['abcA3']")
397339d60c8SBram Moolenaar  call Assert_regput('a', ['==', '=abcA3='])
398339d60c8SBram Moolenaar
399339d60c8SBram Moolenaar  call setreg('b', ['abcB3'], 'l')
400339d60c8SBram Moolenaar  call Assert_reg('b', 'V', "abcB3\n", "['abcB3']", "abcB3\n", "['abcB3']")
401339d60c8SBram Moolenaar  call Assert_regput('b', ['==', 'abcB3', '=='])
402339d60c8SBram Moolenaar
403339d60c8SBram Moolenaar  call setreg('c', ['abcC3'], 'b')
404339d60c8SBram Moolenaar  call Assert_reg('c', "\<C-V>5", "abcC3", "['abcC3']", "abcC3", "['abcC3']")
405339d60c8SBram Moolenaar  call Assert_regput('c', ['==', '=abcC3='])
406339d60c8SBram Moolenaar
407339d60c8SBram Moolenaar  call setreg('d', ['abcD3'])
408339d60c8SBram Moolenaar  call Assert_reg('d', 'V', "abcD3\n", "['abcD3']", "abcD3\n", "['abcD3']")
409339d60c8SBram Moolenaar  call Assert_regput('d', ['==', 'abcD3', '=='])
410339d60c8SBram Moolenaar
411339d60c8SBram Moolenaar  call setreg('e', [1, 2, 'abc', 3])
412339d60c8SBram Moolenaar  call Assert_reg('e', 'V', "1\n2\nabc\n3\n", "['1', '2', 'abc', '3']", "1\n2\nabc\n3\n", "['1', '2', 'abc', '3']")
413339d60c8SBram Moolenaar  call Assert_regput('e', ['==', '1', '2', 'abc', '3', '=='])
414339d60c8SBram Moolenaar
415339d60c8SBram Moolenaar  call setreg('f', [1, 2, 3])
416339d60c8SBram Moolenaar  call Assert_reg('f', 'V', "1\n2\n3\n", "['1', '2', '3']", "1\n2\n3\n", "['1', '2', '3']")
417339d60c8SBram Moolenaar  call Assert_regput('f', ['==', '1', '2', '3', '=='])
418339d60c8SBram Moolenaar
419339d60c8SBram Moolenaar  " Appending lists with setreg()
420339d60c8SBram Moolenaar  call setreg('A', ['abcA3c'], 'c')
421339d60c8SBram Moolenaar  call Assert_reg('A', 'v', "abcA3\nabcA3c", "['abcA3', 'abcA3c']", "abcA3\nabcA3c", "['abcA3', 'abcA3c']")
422339d60c8SBram Moolenaar  call Assert_regput('A', ['==', '=abcA3', 'abcA3c='])
423339d60c8SBram Moolenaar
424339d60c8SBram Moolenaar  call setreg('b', ['abcB3l'], 'la')
425339d60c8SBram Moolenaar  call Assert_reg('b', 'V', "abcB3\nabcB3l\n", "['abcB3', 'abcB3l']", "abcB3\nabcB3l\n", "['abcB3', 'abcB3l']")
426339d60c8SBram Moolenaar  call Assert_regput('b', ['==', 'abcB3', 'abcB3l', '=='])
427339d60c8SBram Moolenaar
428339d60c8SBram Moolenaar  call setreg('C', ['abcC3b'], 'lb')
429339d60c8SBram Moolenaar  call Assert_reg('C', "\<C-V>6", "abcC3\nabcC3b", "['abcC3', 'abcC3b']", "abcC3\nabcC3b", "['abcC3', 'abcC3b']")
430339d60c8SBram Moolenaar  call Assert_regput('C', ['==', '=abcC3 =', ' abcC3b'])
431339d60c8SBram Moolenaar
432339d60c8SBram Moolenaar  call setreg('D', ['abcD32'])
433339d60c8SBram Moolenaar  call Assert_reg('D', 'V', "abcD3\nabcD32\n", "['abcD3', 'abcD32']", "abcD3\nabcD32\n", "['abcD3', 'abcD32']")
434339d60c8SBram Moolenaar  call Assert_regput('D', ['==', 'abcD3', 'abcD32', '=='])
435339d60c8SBram Moolenaar
436339d60c8SBram Moolenaar  call setreg('A', ['abcA32'])
437339d60c8SBram Moolenaar  call Assert_reg('A', 'V', "abcA3\nabcA3c\nabcA32\n", "['abcA3', 'abcA3c', 'abcA32']", "abcA3\nabcA3c\nabcA32\n", "['abcA3', 'abcA3c', 'abcA32']")
438339d60c8SBram Moolenaar  call Assert_regput('A', ['==', 'abcA3', 'abcA3c', 'abcA32', '=='])
439339d60c8SBram Moolenaar
440339d60c8SBram Moolenaar  call setreg('B', ['abcB3c'], 'c')
441339d60c8SBram Moolenaar  call Assert_reg('B', 'v', "abcB3\nabcB3l\nabcB3c", "['abcB3', 'abcB3l', 'abcB3c']", "abcB3\nabcB3l\nabcB3c", "['abcB3', 'abcB3l', 'abcB3c']")
442339d60c8SBram Moolenaar  call Assert_regput('B', ['==', '=abcB3', 'abcB3l', 'abcB3c='])
443339d60c8SBram Moolenaar
444339d60c8SBram Moolenaar  call setreg('C', ['abcC3l'], 'l')
445339d60c8SBram Moolenaar  call Assert_reg('C', 'V', "abcC3\nabcC3b\nabcC3l\n", "['abcC3', 'abcC3b', 'abcC3l']", "abcC3\nabcC3b\nabcC3l\n", "['abcC3', 'abcC3b', 'abcC3l']")
446339d60c8SBram Moolenaar  call Assert_regput('C', ['==', 'abcC3', 'abcC3b', 'abcC3l', '=='])
447339d60c8SBram Moolenaar
448339d60c8SBram Moolenaar  call setreg('D', ['abcD3b'], 'b')
449339d60c8SBram Moolenaar  call Assert_reg('D', "\<C-V>6", "abcD3\nabcD32\nabcD3b", "['abcD3', 'abcD32', 'abcD3b']", "abcD3\nabcD32\nabcD3b", "['abcD3', 'abcD32', 'abcD3b']")
450339d60c8SBram Moolenaar  call Assert_regput('D', ['==', '=abcD3 =', ' abcD32', ' abcD3b'])
451339d60c8SBram Moolenaar
452339d60c8SBram Moolenaar  " Appending lists with NL with setreg()
453339d60c8SBram Moolenaar  call setreg('A', ["\n", 'abcA3l2'], 'l')
454339d60c8SBram Moolenaar  call Assert_reg('A', "V", "abcA3\nabcA3c\nabcA32\n\n\nabcA3l2\n", "['abcA3', 'abcA3c', 'abcA32', '\n', 'abcA3l2']", "abcA3\nabcA3c\nabcA32\n\n\nabcA3l2\n", "['abcA3', 'abcA3c', 'abcA32', '\n', 'abcA3l2']")
455339d60c8SBram Moolenaar  call Assert_regput('A', ['==', 'abcA3', 'abcA3c', 'abcA32', "\n", 'abcA3l2', '=='])
456339d60c8SBram Moolenaar
457339d60c8SBram Moolenaar  call setreg('B', ["\n", 'abcB3c2'], 'c')
458339d60c8SBram Moolenaar  call Assert_reg('B', "v", "abcB3\nabcB3l\nabcB3c\n\n\nabcB3c2", "['abcB3', 'abcB3l', 'abcB3c', '\n', 'abcB3c2']", "abcB3\nabcB3l\nabcB3c\n\n\nabcB3c2", "['abcB3', 'abcB3l', 'abcB3c', '\n', 'abcB3c2']")
459339d60c8SBram Moolenaar  call Assert_regput('B', ['==', '=abcB3', 'abcB3l', 'abcB3c', "\n", 'abcB3c2='])
460339d60c8SBram Moolenaar
461339d60c8SBram Moolenaar  call setreg('C', ["\n", 'abcC3b2'], 'b')
462339d60c8SBram Moolenaar  call Assert_reg('C', "7", "abcC3\nabcC3b\nabcC3l\n\n\nabcC3b2", "['abcC3', 'abcC3b', 'abcC3l', '\n', 'abcC3b2']", "abcC3\nabcC3b\nabcC3l\n\n\nabcC3b2", "['abcC3', 'abcC3b', 'abcC3l', '\n', 'abcC3b2']")
463339d60c8SBram Moolenaar  call Assert_regput('C', ['==', '=abcC3  =', ' abcC3b', ' abcC3l', " \n", ' abcC3b2'])
464339d60c8SBram Moolenaar
465339d60c8SBram Moolenaar  call setreg('D', ["\n", 'abcD3b50'],'b50')
466339d60c8SBram Moolenaar  call Assert_reg('D', "50", "abcD3\nabcD32\nabcD3b\n\n\nabcD3b50", "['abcD3', 'abcD32', 'abcD3b', '\n', 'abcD3b50']", "abcD3\nabcD32\nabcD3b\n\n\nabcD3b50", "['abcD3', 'abcD32', 'abcD3b', '\n', 'abcD3b50']")
467339d60c8SBram Moolenaar  call Assert_regput('D', ['==', '=abcD3                                             =', ' abcD32', ' abcD3b', " \n", ' abcD3b50'])
468339d60c8SBram Moolenaar
469339d60c8SBram Moolenaar  " Setting lists with NLs with setreg()
470339d60c8SBram Moolenaar  call setreg('a', ['abcA4-0', "\n", "abcA4-2\n", "\nabcA4-3", "abcA4-4\nabcA4-4-2"])
471339d60c8SBram Moolenaar  call Assert_reg('a', "V", "abcA4-0\n\n\nabcA4-2\n\n\nabcA4-3\nabcA4-4\nabcA4-4-2\n", "['abcA4-0', '\n', 'abcA4-2\n', '\nabcA4-3', 'abcA4-4\nabcA4-4-2']", "abcA4-0\n\n\nabcA4-2\n\n\nabcA4-3\nabcA4-4\nabcA4-4-2\n", "['abcA4-0', '\n', 'abcA4-2\n', '\nabcA4-3', 'abcA4-4\nabcA4-4-2']")
472339d60c8SBram Moolenaar  call Assert_regput('a', ['==', 'abcA4-0', "\n", "abcA4-2\n", "\nabcA4-3", "abcA4-4\nabcA4-4-2", '=='])
473339d60c8SBram Moolenaar
474339d60c8SBram Moolenaar  call setreg('b', ['abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\nabcB4c-4-2"], 'c')
475339d60c8SBram Moolenaar  call Assert_reg('b', "v", "abcB4c-0\n\n\nabcB4c-2\n\n\nabcB4c-3\nabcB4c-4\nabcB4c-4-2", "['abcB4c-0', '\n', 'abcB4c-2\n', '\nabcB4c-3', 'abcB4c-4\nabcB4c-4-2']", "abcB4c-0\n\n\nabcB4c-2\n\n\nabcB4c-3\nabcB4c-4\nabcB4c-4-2", "['abcB4c-0', '\n', 'abcB4c-2\n', '\nabcB4c-3', 'abcB4c-4\nabcB4c-4-2']")
476339d60c8SBram Moolenaar  call Assert_regput('b', ['==', '=abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\nabcB4c-4-2="])
477339d60c8SBram Moolenaar
478339d60c8SBram Moolenaar  call setreg('c', ['abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\nabcC4l-4-2"], 'l')
479339d60c8SBram Moolenaar  call Assert_reg('c', "V", "abcC4l-0\n\n\nabcC4l-2\n\n\nabcC4l-3\nabcC4l-4\nabcC4l-4-2\n", "['abcC4l-0', '\n', 'abcC4l-2\n', '\nabcC4l-3', 'abcC4l-4\nabcC4l-4-2']", "abcC4l-0\n\n\nabcC4l-2\n\n\nabcC4l-3\nabcC4l-4\nabcC4l-4-2\n", "['abcC4l-0', '\n', 'abcC4l-2\n', '\nabcC4l-3', 'abcC4l-4\nabcC4l-4-2']")
480339d60c8SBram Moolenaar  call Assert_regput('c', ['==', 'abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\nabcC4l-4-2", '=='])
481339d60c8SBram Moolenaar
482339d60c8SBram Moolenaar  call setreg('d', ['abcD4b-0', "\n", "abcD4b-2\n", "\nabcD4b-3", "abcD4b-4\nabcD4b-4-2"], 'b')
483339d60c8SBram Moolenaar  call Assert_reg('d', "19", "abcD4b-0\n\n\nabcD4b-2\n\n\nabcD4b-3\nabcD4b-4\nabcD4b-4-2", "['abcD4b-0', '\n', 'abcD4b-2\n', '\nabcD4b-3', 'abcD4b-4\nabcD4b-4-2']", "abcD4b-0\n\n\nabcD4b-2\n\n\nabcD4b-3\nabcD4b-4\nabcD4b-4-2", "['abcD4b-0', '\n', 'abcD4b-2\n', '\nabcD4b-3', 'abcD4b-4\nabcD4b-4-2']")
484339d60c8SBram Moolenaar  call Assert_regput('d', ['==', '=abcD4b-0           =', " \n", " abcD4b-2\n", " \nabcD4b-3", " abcD4b-4\nabcD4b-4-2"])
485339d60c8SBram Moolenaar
486339d60c8SBram Moolenaar  call setreg('e', ['abcE4b10-0', "\n", "abcE4b10-2\n", "\nabcE4b10-3", "abcE4b10-4\nabcE4b10-4-2"], 'b10')
487339d60c8SBram Moolenaar  call Assert_reg('e', "10", "abcE4b10-0\n\n\nabcE4b10-2\n\n\nabcE4b10-3\nabcE4b10-4\nabcE4b10-4-2", "['abcE4b10-0', '\n', 'abcE4b10-2\n', '\nabcE4b10-3', 'abcE4b10-4\nabcE4b10-4-2']", "abcE4b10-0\n\n\nabcE4b10-2\n\n\nabcE4b10-3\nabcE4b10-4\nabcE4b10-4-2", "['abcE4b10-0', '\n', 'abcE4b10-2\n', '\nabcE4b10-3', 'abcE4b10-4\nabcE4b10-4-2']")
488339d60c8SBram Moolenaar  call Assert_regput('e', ['==', '=abcE4b10-0=', " \n", " abcE4b10-2\n", " \nabcE4b10-3", " abcE4b10-4\nabcE4b10-4-2"])
489339d60c8SBram Moolenaar
490339d60c8SBram Moolenaar  " Search and expressions
491339d60c8SBram Moolenaar  call setreg('/', ['abc/'])
492339d60c8SBram Moolenaar  call Assert_reg('/', 'v', "abc/", "['abc/']", "abc/", "['abc/']")
493339d60c8SBram Moolenaar  call Assert_regput('/', ['==', '=abc/='])
494339d60c8SBram Moolenaar
495339d60c8SBram Moolenaar  call setreg('/', ["abc/\n"])
496339d60c8SBram Moolenaar  call Assert_reg('/', 'v', "abc/\n", "['abc/\n']", "abc/\n", "['abc/\n']")
497339d60c8SBram Moolenaar  call Assert_regput('/', ['==', "=abc/\n="])
498339d60c8SBram Moolenaar
499339d60c8SBram Moolenaar  call setreg('=', ['"abc/"'])
500339d60c8SBram Moolenaar  call Assert_reg('=', 'v', "abc/", "['abc/']", '"abc/"', "['\"abc/\"']")
501339d60c8SBram Moolenaar
502339d60c8SBram Moolenaar  call setreg('=', ["\"abc/\n\""])
503339d60c8SBram Moolenaar  call Assert_reg('=', 'v', "abc/\n", "['abc/\n']", "\"abc/\n\"", "['\"abc/\n\"']")
504339d60c8SBram Moolenaar
505339d60c8SBram Moolenaar  " System clipboard
506339d60c8SBram Moolenaar  if has('clipboard')
507339d60c8SBram Moolenaar    new | only!
508339d60c8SBram Moolenaar    call setline(1, ['clipboard contents', 'something else'])
509339d60c8SBram Moolenaar    " Save and restore system clipboard.
510339d60c8SBram Moolenaar    " If no connection to X-Server is possible, test should succeed.
511339d60c8SBram Moolenaar    let _clipreg = ['*', getreg('*'), getregtype('*')]
512339d60c8SBram Moolenaar    let _clipopt = &cb
513339d60c8SBram Moolenaar    let &cb='unnamed'
514339d60c8SBram Moolenaar    1y
515339d60c8SBram Moolenaar    call Assert_reg('*', 'V', "clipboard contents\n", "['clipboard contents']", "clipboard contents\n", "['clipboard contents']")
516339d60c8SBram Moolenaar    tabdo :windo :echo "hi"
517339d60c8SBram Moolenaar    2y
518339d60c8SBram Moolenaar    call Assert_reg('*', 'V', "something else\n", "['something else']", "something else\n", "['something else']")
519339d60c8SBram Moolenaar    let &cb=_clipopt
520339d60c8SBram Moolenaar    call call('setreg', _clipreg)
521339d60c8SBram Moolenaar    enew!
522339d60c8SBram Moolenaar  endif
523339d60c8SBram Moolenaar
52408f4157cSBram Moolenaar  " Error cases
52508f4157cSBram Moolenaar  call assert_fails('call setreg()', 'E119:')
52608f4157cSBram Moolenaar  call assert_fails('call setreg(1)', 'E119:')
52708f4157cSBram Moolenaar  call assert_fails('call setreg(1, 2, 3, 4)', 'E118:')
52808f4157cSBram Moolenaar  call assert_fails('call setreg([], 2)', 'E730:')
52908f4157cSBram Moolenaar  call assert_fails('call setreg(1, 2, [])', 'E730:')
53008f4157cSBram Moolenaar  call assert_fails('call setreg("/", ["1", "2"])', 'E883:')
53108f4157cSBram Moolenaar  call assert_fails('call setreg("=", ["1", "2"])', 'E883:')
53208f4157cSBram Moolenaar  call assert_fails('call setreg(1, ["", "", [], ""])', 'E730:')
53308f4157cSBram Moolenaarendfunc
53490455cfaSBram Moolenaar
5358b633135SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab
536