To: vim_dev@googlegroups.com Subject: Patch 8.2.0661 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.0661 Problem: Eval test is still old style. Solution: Change into new style tests. (Yegappan Lakshmanan, closes #6009) Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, src/testdir/test_eval.in, src/testdir/test_eval.ok, src/testdir/test_eval_stuff.vim *** ../vim-8.2.0660/src/Makefile 2020-04-29 21:03:51.115170232 +0200 --- src/Makefile 2020-04-29 21:58:49.149277494 +0200 *************** *** 2291,2297 **** # Run individual OLD style test. # These do not depend on the executable, compile it when needed. test1 \ - test_eval \ test42 test44 test49 \ test52 test59 \ test70 \ --- 2291,2296 ---- *** ../vim-8.2.0660/src/testdir/Make_all.mak 2020-04-25 20:02:36.001096124 +0200 --- src/testdir/Make_all.mak 2020-04-29 21:58:49.149277494 +0200 *************** *** 16,24 **** test42.out \ test44.out \ test70.out \ ! test99.out \ ! test_eval.out ! # Tests that run on most systems, but not on Amiga. SCRIPTS_MORE1 = \ --- 16,22 ---- test42.out \ test44.out \ test70.out \ ! test99.out # Tests that run on most systems, but not on Amiga. SCRIPTS_MORE1 = \ *** ../vim-8.2.0660/src/testdir/Make_vms.mms 2019-12-16 22:43:22.324823401 +0100 --- src/testdir/Make_vms.mms 2020-04-29 21:58:49.149277494 +0200 *************** *** 74,83 **** .SUFFIXES : .out .in SCRIPT = test1.out \ ! test42.out test44.out test49.out \ ! test77a.out \ ! test99.out \ ! test_eval.out # Known problems: # --- 74,80 ---- .SUFFIXES : .out .in SCRIPT = test1.out \ ! test42.out test44.out test49.out test77a.out test99.out # Known problems: # *** ../vim-8.2.0660/src/testdir/test_eval.in 2020-04-20 16:49:56.701830076 +0200 --- src/testdir/test_eval.in 1970-01-01 01:00:00.000000000 +0100 *************** *** 1,119 **** - Test for various eval features. vim: set ft=vim : - - NOTE: Do not add more here, use new style test test_eval_stuff.vim - - Note: system clipboard is saved, changed and restored. - - clipboard contents - something else - - STARTTEST - :so small.vim - :set encoding=latin1 - :set noswapfile - :lang C - :fun AppendRegContents(reg) - call AppendRegParts(a:reg, getregtype(a:reg), getreg(a:reg), string(getreg(a:reg, 0, 1)), getreg(a:reg, 1), string(getreg(a:reg, 1, 1))) - :endfun - :fun AppendRegParts(reg, type, cont, strcont, cont1, strcont1) - call append('$', printf('%s: type %s; value: %s (%s), expr: %s (%s)', a:reg, a:type, a:cont, a:strcont, a:cont1, a:strcont1)) - endfun - :command -nargs=? AR :call AppendRegContents() - :fun SetReg(...) - call call('setreg', a:000) - call append('$', printf('{{{2 setreg(%s)', string(a:000)[1:-2])) - call AppendRegContents(a:1) - if a:1 isnot# '=' - execute "silent normal! Go==\n==\e\"".a:1."P" - endif - endfun - :fun Test() - $put ='{{{1 Appending NL with setreg()' - call setreg('a', 'abcA2', 'c') - call setreg('b', 'abcB2', 'v') - call setreg('c', 'abcC2', 'l') - call setreg('d', 'abcD2', 'V') - call setreg('e', 'abcE2', 'b') - call setreg('f', 'abcF2', "\") - call setreg('g', 'abcG2', 'b10') - call setreg('h', 'abcH2', "\10") - call setreg('I', 'abcI2') - - call SetReg('A', "\n") - call SetReg('B', "\n", 'c') - call SetReg('C', "\n") - call SetReg('D', "\n", 'l') - call SetReg('E', "\n") - call SetReg('F', "\n", 'b') - - $put ='{{{1 Setting lists with setreg()' - call SetReg('a', ['abcA3'], 'c') - call SetReg('b', ['abcB3'], 'l') - call SetReg('c', ['abcC3'], 'b') - call SetReg('d', ['abcD3']) - call SetReg('e', [1, 2, 'abc', 3]) - call SetReg('f', [1, 2, 3]) - - $put ='{{{1 Appending lists with setreg()' - call SetReg('A', ['abcA3c'], 'c') - call SetReg('b', ['abcB3l'], 'la') - call SetReg('C', ['abcC3b'], 'lb') - call SetReg('D', ['abcD32']) - - call SetReg('A', ['abcA32']) - call SetReg('B', ['abcB3c'], 'c') - call SetReg('C', ['abcC3l'], 'l') - call SetReg('D', ['abcD3b'], 'b') - - $put ='{{{1 Appending lists with NL with setreg()' - call SetReg('A', ["\n", 'abcA3l2'], 'l') - call SetReg('B', ["\n", 'abcB3c2'], 'c') - call SetReg('C', ["\n", 'abcC3b2'], 'b') - call SetReg('D', ["\n", 'abcD3b50'],'b50') - - $put ='{{{1 Setting lists with NLs with setreg()' - call SetReg('a', ['abcA4-0', "\n", "abcA4-2\n", "\nabcA4-3", "abcA4-4\nabcA4-4-2"]) - call SetReg('b', ['abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\nabcB4c-4-2"], 'c') - call SetReg('c', ['abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\nabcC4l-4-2"], 'l') - call SetReg('d', ['abcD4b-0', "\n", "abcD4b-2\n", "\nabcD4b-3", "abcD4b-4\nabcD4b-4-2"], 'b') - call SetReg('e', ['abcE4b10-0', "\n", "abcE4b10-2\n", "\nabcE4b10-3", "abcE4b10-4\nabcE4b10-4-2"], 'b10') - - $put ='{{{1 Search and expressions' - call SetReg('/', ['abc/']) - call SetReg('/', ["abc/\n"]) - call SetReg('=', ['"abc/"']) - call SetReg('=', ["\"abc/\n\""]) - $put ='{{{1 System clipboard' - if has('clipboard') - " Save and restore system clipboard. - " If no connection to X-Server is possible, test should succeed. - let _clipreg = ['*', getreg('*'), getregtype('*')] - let _clipopt = &cb - let &cb='unnamed' - 7y - AR * - tabdo :windo :echo "hi" - 8y - AR * - let &cb=_clipopt - call call('setreg', _clipreg) - else - call AppendRegParts('*', 'V', "clipboard contents\n", "['clipboard contents']", "clipboard contents\n", "['clipboard contents']") - call AppendRegParts('*', 'V', "something else\n", "['something else']", "something else\n", "['something else']") - endif - endfun - :" - :call Test() - :" - :delfunction SetReg - :delfunction AppendRegContents - :delfunction Test - :delcommand AR - :call garbagecollect(1) - :" - :/^start:/+1,$wq! test.out - :" vim: et ts=4 isk-=\: fmr=???,??? - :call getchar() - ENDTEST - - start: --- 0 ---- *** ../vim-8.2.0660/src/testdir/test_eval.ok 2020-04-20 16:49:56.705830066 +0200 --- src/testdir/test_eval.ok 1970-01-01 01:00:00.000000000 +0100 *************** *** 1,210 **** - {{{1 Appending NL with setreg() - {{{2 setreg('A', '') - A: type V; value: abcA2 (['abcA2']), expr: abcA2 (['abcA2']) - == - abcA2 - == - {{{2 setreg('B', '', 'c') - B: type v; value: abcB2 (['abcB2', '']), expr: abcB2 (['abcB2', '']) - == - =abcB2 - = - {{{2 setreg('C', '') - C: type V; value: abcC2 (['abcC2', '']), expr: abcC2 (['abcC2', '']) - == - abcC2 - - == - {{{2 setreg('D', '', 'l') - D: type V; value: abcD2 (['abcD2', '']), expr: abcD2 (['abcD2', '']) - == - abcD2 - - == - {{{2 setreg('E', '') - E: type V; value: abcE2 (['abcE2', '']), expr: abcE2 (['abcE2', '']) - == - abcE2 - - == - {{{2 setreg('F', '', 'b') - F: type 0; value: abcF2 (['abcF2', '']), expr: abcF2 (['abcF2', '']) - == - =abcF2= - - {{{1 Setting lists with setreg() - {{{2 setreg('a', ['abcA3'], 'c') - a: type v; value: abcA3 (['abcA3']), expr: abcA3 (['abcA3']) - == - =abcA3= - {{{2 setreg('b', ['abcB3'], 'l') - b: type V; value: abcB3 (['abcB3']), expr: abcB3 (['abcB3']) - == - abcB3 - == - {{{2 setreg('c', ['abcC3'], 'b') - c: type 5; value: abcC3 (['abcC3']), expr: abcC3 (['abcC3']) - == - =abcC3= - {{{2 setreg('d', ['abcD3']) - d: type V; value: abcD3 (['abcD3']), expr: abcD3 (['abcD3']) - == - abcD3 - == - {{{2 setreg('e', [1, 2, 'abc', 3]) - e: type V; value: 12abc3 (['1', '2', 'abc', '3']), expr: 12abc3 (['1', '2', 'abc', '3']) - == - 1 - 2 - abc - 3 - == - {{{2 setreg('f', [1, 2, 3]) - f: type V; value: 123 (['1', '2', '3']), expr: 123 (['1', '2', '3']) - == - 1 - 2 - 3 - == - {{{1 Appending lists with setreg() - {{{2 setreg('A', ['abcA3c'], 'c') - A: type v; value: abcA3abcA3c (['abcA3', 'abcA3c']), expr: abcA3abcA3c (['abcA3', 'abcA3c']) - == - =abcA3 - abcA3c= - {{{2 setreg('b', ['abcB3l'], 'la') - b: type V; value: abcB3abcB3l (['abcB3', 'abcB3l']), expr: abcB3abcB3l (['abcB3', 'abcB3l']) - == - abcB3 - abcB3l - == - {{{2 setreg('C', ['abcC3b'], 'lb') - C: type 6; value: abcC3abcC3b (['abcC3', 'abcC3b']), expr: abcC3abcC3b (['abcC3', 'abcC3b']) - == - =abcC3 = - abcC3b - {{{2 setreg('D', ['abcD32']) - D: type V; value: abcD3abcD32 (['abcD3', 'abcD32']), expr: abcD3abcD32 (['abcD3', 'abcD32']) - == - abcD3 - abcD32 - == - {{{2 setreg('A', ['abcA32']) - A: type V; value: abcA3abcA3cabcA32 (['abcA3', 'abcA3c', 'abcA32']), expr: abcA3abcA3cabcA32 (['abcA3', 'abcA3c', 'abcA32']) - == - abcA3 - abcA3c - abcA32 - == - {{{2 setreg('B', ['abcB3c'], 'c') - B: type v; value: abcB3abcB3labcB3c (['abcB3', 'abcB3l', 'abcB3c']), expr: abcB3abcB3labcB3c (['abcB3', 'abcB3l', 'abcB3c']) - == - =abcB3 - abcB3l - abcB3c= - {{{2 setreg('C', ['abcC3l'], 'l') - C: type V; value: abcC3abcC3babcC3l (['abcC3', 'abcC3b', 'abcC3l']), expr: abcC3abcC3babcC3l (['abcC3', 'abcC3b', 'abcC3l']) - == - abcC3 - abcC3b - abcC3l - == - {{{2 setreg('D', ['abcD3b'], 'b') - D: type 6; value: abcD3abcD32abcD3b (['abcD3', 'abcD32', 'abcD3b']), expr: abcD3abcD32abcD3b (['abcD3', 'abcD32', 'abcD3b']) - == - =abcD3 = - abcD32 - abcD3b - {{{1 Appending lists with NL with setreg() - {{{2 setreg('A', ['', 'abcA3l2'], 'l') - A: type V; value: abcA3abcA3cabcA32abcA3l2 (['abcA3', 'abcA3c', 'abcA32', '', 'abcA3l2']), expr: abcA3abcA3cabcA32abcA3l2 (['abcA3', 'abcA3c', 'abcA32', '', 'abcA3l2']) - == - abcA3 - abcA3c - abcA32 - - abcA3l2 - == - {{{2 setreg('B', ['', 'abcB3c2'], 'c') - B: type v; value: abcB3abcB3labcB3cabcB3c2 (['abcB3', 'abcB3l', 'abcB3c', '', 'abcB3c2']), expr: abcB3abcB3labcB3cabcB3c2 (['abcB3', 'abcB3l', 'abcB3c', '', 'abcB3c2']) - == - =abcB3 - abcB3l - abcB3c - - abcB3c2= - {{{2 setreg('C', ['', 'abcC3b2'], 'b') - C: type 7; value: abcC3abcC3babcC3labcC3b2 (['abcC3', 'abcC3b', 'abcC3l', '', 'abcC3b2']), expr: abcC3abcC3babcC3labcC3b2 (['abcC3', 'abcC3b', 'abcC3l', '', 'abcC3b2']) - == - =abcC3 = - abcC3b - abcC3l - - abcC3b2 - {{{2 setreg('D', ['', 'abcD3b50'], 'b50') - D: type 50; value: abcD3abcD32abcD3babcD3b50 (['abcD3', 'abcD32', 'abcD3b', '', 'abcD3b50']), expr: abcD3abcD32abcD3babcD3b50 (['abcD3', 'abcD32', 'abcD3b', '', 'abcD3b50']) - == - =abcD3 = - abcD32 - abcD3b - - abcD3b50 - {{{1 Setting lists with NLs with setreg() - {{{2 setreg('a', ['abcA4-0', '', 'abcA4-2', 'abcA4-3', 'abcA4-4abcA4-4-2']) - a: type V; value: abcA4-0abcA4-2abcA4-3abcA4-4abcA4-4-2 (['abcA4-0', '', 'abcA4-2', 'abcA4-3', 'abcA4-4abcA4-4-2']), expr: abcA4-0abcA4-2abcA4-3abcA4-4abcA4-4-2 (['abcA4-0', '', 'abcA4-2', 'abcA4-3', 'abcA4-4abcA4-4-2']) - == - abcA4-0 - - abcA4-2 - abcA4-3 - abcA4-4abcA4-4-2 - == - {{{2 setreg('b', ['abcB4c-0', '', 'abcB4c-2', 'abcB4c-3', 'abcB4c-4abcB4c-4-2'], 'c') - b: type v; value: abcB4c-0abcB4c-2abcB4c-3abcB4c-4abcB4c-4-2 (['abcB4c-0', '', 'abcB4c-2', 'abcB4c-3', 'abcB4c-4abcB4c-4-2']), expr: abcB4c-0abcB4c-2abcB4c-3abcB4c-4abcB4c-4-2 (['abcB4c-0', '', 'abcB4c-2', 'abcB4c-3', 'abcB4c-4abcB4c-4-2']) - == - =abcB4c-0 - - abcB4c-2 - abcB4c-3 - abcB4c-4abcB4c-4-2= - {{{2 setreg('c', ['abcC4l-0', '', 'abcC4l-2', 'abcC4l-3', 'abcC4l-4abcC4l-4-2'], 'l') - c: type V; value: abcC4l-0abcC4l-2abcC4l-3abcC4l-4abcC4l-4-2 (['abcC4l-0', '', 'abcC4l-2', 'abcC4l-3', 'abcC4l-4abcC4l-4-2']), expr: abcC4l-0abcC4l-2abcC4l-3abcC4l-4abcC4l-4-2 (['abcC4l-0', '', 'abcC4l-2', 'abcC4l-3', 'abcC4l-4abcC4l-4-2']) - == - abcC4l-0 - - abcC4l-2 - abcC4l-3 - abcC4l-4abcC4l-4-2 - == - {{{2 setreg('d', ['abcD4b-0', '', 'abcD4b-2', 'abcD4b-3', 'abcD4b-4abcD4b-4-2'], 'b') - d: type 19; value: abcD4b-0abcD4b-2abcD4b-3abcD4b-4abcD4b-4-2 (['abcD4b-0', '', 'abcD4b-2', 'abcD4b-3', 'abcD4b-4abcD4b-4-2']), expr: abcD4b-0abcD4b-2abcD4b-3abcD4b-4abcD4b-4-2 (['abcD4b-0', '', 'abcD4b-2', 'abcD4b-3', 'abcD4b-4abcD4b-4-2']) - == - =abcD4b-0 = - - abcD4b-2 - abcD4b-3 - abcD4b-4abcD4b-4-2 - {{{2 setreg('e', ['abcE4b10-0', '', 'abcE4b10-2', 'abcE4b10-3', 'abcE4b10-4abcE4b10-4-2'], 'b10') - e: type 10; value: abcE4b10-0abcE4b10-2abcE4b10-3abcE4b10-4abcE4b10-4-2 (['abcE4b10-0', '', 'abcE4b10-2', 'abcE4b10-3', 'abcE4b10-4abcE4b10-4-2']), expr: abcE4b10-0abcE4b10-2abcE4b10-3abcE4b10-4abcE4b10-4-2 (['abcE4b10-0', '', 'abcE4b10-2', 'abcE4b10-3', 'abcE4b10-4abcE4b10-4-2']) - == - =abcE4b10-0= - - abcE4b10-2 - abcE4b10-3 - abcE4b10-4abcE4b10-4-2 - {{{1 Search and expressions - {{{2 setreg('/', ['abc/']) - /: type v; value: abc/ (['abc/']), expr: abc/ (['abc/']) - == - =abc/= - {{{2 setreg('/', ['abc/']) - /: type v; value: abc/ (['abc/']), expr: abc/ (['abc/']) - == - =abc/= - {{{2 setreg('=', ['"abc/"']) - =: type v; value: abc/ (['abc/']), expr: "abc/" (['"abc/"']) - {{{2 setreg('=', ['"abc/"']) - =: type v; value: abc/ (['abc/']), expr: "abc/" (['"abc/"']) - {{{1 System clipboard - *: type V; value: clipboard contents (['clipboard contents']), expr: clipboard contents (['clipboard contents']) - *: type V; value: something else (['something else']), expr: something else (['something else']) --- 0 ---- *** ../vim-8.2.0660/src/testdir/test_eval_stuff.vim 2020-04-25 15:24:40.551354115 +0200 --- src/testdir/test_eval_stuff.vim 2020-04-29 21:58:49.149277494 +0200 *************** *** 354,359 **** --- 354,524 ---- call Assert_reg('I', "v", "abcI", "['abcI']", "abcI", "['abcI']") call Assert_regput('I', ['==', '=abcI=']) + " Appending NL with setreg() + call setreg('a', 'abcA2', 'c') + call setreg('b', 'abcB2', 'v') + call setreg('c', 'abcC2', 'l') + call setreg('d', 'abcD2', 'V') + call setreg('e', 'abcE2', 'b') + call setreg('f', 'abcF2', "\") + call setreg('g', 'abcG2', 'b10') + call setreg('h', 'abcH2', "\10") + call setreg('I', 'abcI2') + + call setreg('A', "\n") + call Assert_reg('A', 'V', "abcA2\n", "['abcA2']", "abcA2\n", "['abcA2']") + call Assert_regput('A', ['==', 'abcA2', '==']) + + call setreg('B', "\n", 'c') + call Assert_reg('B', 'v', "abcB2\n", "['abcB2', '']", "abcB2\n", "['abcB2', '']") + call Assert_regput('B', ['==', '=abcB2', '=']) + + call setreg('C', "\n") + call Assert_reg('C', 'V', "abcC2\n\n", "['abcC2', '']", "abcC2\n\n", "['abcC2', '']") + call Assert_regput('C', ['==', 'abcC2', '', '==']) + + call setreg('D', "\n", 'l') + call Assert_reg('D', 'V', "abcD2\n\n", "['abcD2', '']", "abcD2\n\n", "['abcD2', '']") + call Assert_regput('D', ['==', 'abcD2', '', '==']) + + call setreg('E', "\n") + call Assert_reg('E', 'V', "abcE2\n\n", "['abcE2', '']", "abcE2\n\n", "['abcE2', '']") + call Assert_regput('E', ['==', 'abcE2', '', '==']) + + call setreg('F', "\n", 'b') + call Assert_reg('F', "\0", "abcF2\n", "['abcF2', '']", "abcF2\n", "['abcF2', '']") + call Assert_regput('F', ['==', '=abcF2=', ' ']) + + " Setting lists with setreg() + call setreg('a', ['abcA3'], 'c') + call Assert_reg('a', 'v', "abcA3", "['abcA3']", "abcA3", "['abcA3']") + call Assert_regput('a', ['==', '=abcA3=']) + + call setreg('b', ['abcB3'], 'l') + call Assert_reg('b', 'V', "abcB3\n", "['abcB3']", "abcB3\n", "['abcB3']") + call Assert_regput('b', ['==', 'abcB3', '==']) + + call setreg('c', ['abcC3'], 'b') + call Assert_reg('c', "\5", "abcC3", "['abcC3']", "abcC3", "['abcC3']") + call Assert_regput('c', ['==', '=abcC3=']) + + call setreg('d', ['abcD3']) + call Assert_reg('d', 'V', "abcD3\n", "['abcD3']", "abcD3\n", "['abcD3']") + call Assert_regput('d', ['==', 'abcD3', '==']) + + call setreg('e', [1, 2, 'abc', 3]) + call Assert_reg('e', 'V', "1\n2\nabc\n3\n", "['1', '2', 'abc', '3']", "1\n2\nabc\n3\n", "['1', '2', 'abc', '3']") + call Assert_regput('e', ['==', '1', '2', 'abc', '3', '==']) + + call setreg('f', [1, 2, 3]) + call Assert_reg('f', 'V', "1\n2\n3\n", "['1', '2', '3']", "1\n2\n3\n", "['1', '2', '3']") + call Assert_regput('f', ['==', '1', '2', '3', '==']) + + " Appending lists with setreg() + call setreg('A', ['abcA3c'], 'c') + call Assert_reg('A', 'v', "abcA3\nabcA3c", "['abcA3', 'abcA3c']", "abcA3\nabcA3c", "['abcA3', 'abcA3c']") + call Assert_regput('A', ['==', '=abcA3', 'abcA3c=']) + + call setreg('b', ['abcB3l'], 'la') + call Assert_reg('b', 'V', "abcB3\nabcB3l\n", "['abcB3', 'abcB3l']", "abcB3\nabcB3l\n", "['abcB3', 'abcB3l']") + call Assert_regput('b', ['==', 'abcB3', 'abcB3l', '==']) + + call setreg('C', ['abcC3b'], 'lb') + call Assert_reg('C', "\6", "abcC3\nabcC3b", "['abcC3', 'abcC3b']", "abcC3\nabcC3b", "['abcC3', 'abcC3b']") + call Assert_regput('C', ['==', '=abcC3 =', ' abcC3b']) + + call setreg('D', ['abcD32']) + call Assert_reg('D', 'V', "abcD3\nabcD32\n", "['abcD3', 'abcD32']", "abcD3\nabcD32\n", "['abcD3', 'abcD32']") + call Assert_regput('D', ['==', 'abcD3', 'abcD32', '==']) + + call setreg('A', ['abcA32']) + call Assert_reg('A', 'V', "abcA3\nabcA3c\nabcA32\n", "['abcA3', 'abcA3c', 'abcA32']", "abcA3\nabcA3c\nabcA32\n", "['abcA3', 'abcA3c', 'abcA32']") + call Assert_regput('A', ['==', 'abcA3', 'abcA3c', 'abcA32', '==']) + + call setreg('B', ['abcB3c'], 'c') + call Assert_reg('B', 'v', "abcB3\nabcB3l\nabcB3c", "['abcB3', 'abcB3l', 'abcB3c']", "abcB3\nabcB3l\nabcB3c", "['abcB3', 'abcB3l', 'abcB3c']") + call Assert_regput('B', ['==', '=abcB3', 'abcB3l', 'abcB3c=']) + + call setreg('C', ['abcC3l'], 'l') + call Assert_reg('C', 'V', "abcC3\nabcC3b\nabcC3l\n", "['abcC3', 'abcC3b', 'abcC3l']", "abcC3\nabcC3b\nabcC3l\n", "['abcC3', 'abcC3b', 'abcC3l']") + call Assert_regput('C', ['==', 'abcC3', 'abcC3b', 'abcC3l', '==']) + + call setreg('D', ['abcD3b'], 'b') + call Assert_reg('D', "\6", "abcD3\nabcD32\nabcD3b", "['abcD3', 'abcD32', 'abcD3b']", "abcD3\nabcD32\nabcD3b", "['abcD3', 'abcD32', 'abcD3b']") + call Assert_regput('D', ['==', '=abcD3 =', ' abcD32', ' abcD3b']) + + " Appending lists with NL with setreg() + call setreg('A', ["\n", 'abcA3l2'], 'l') + 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']") + call Assert_regput('A', ['==', 'abcA3', 'abcA3c', 'abcA32', "\n", 'abcA3l2', '==']) + + call setreg('B', ["\n", 'abcB3c2'], 'c') + 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']") + call Assert_regput('B', ['==', '=abcB3', 'abcB3l', 'abcB3c', "\n", 'abcB3c2=']) + + call setreg('C', ["\n", 'abcC3b2'], 'b') + 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']") + call Assert_regput('C', ['==', '=abcC3 =', ' abcC3b', ' abcC3l', " \n", ' abcC3b2']) + + call setreg('D', ["\n", 'abcD3b50'],'b50') + 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']") + call Assert_regput('D', ['==', '=abcD3 =', ' abcD32', ' abcD3b', " \n", ' abcD3b50']) + + " Setting lists with NLs with setreg() + call setreg('a', ['abcA4-0', "\n", "abcA4-2\n", "\nabcA4-3", "abcA4-4\nabcA4-4-2"]) + 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']") + call Assert_regput('a', ['==', 'abcA4-0', "\n", "abcA4-2\n", "\nabcA4-3", "abcA4-4\nabcA4-4-2", '==']) + + call setreg('b', ['abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\nabcB4c-4-2"], 'c') + 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']") + call Assert_regput('b', ['==', '=abcB4c-0', "\n", "abcB4c-2\n", "\nabcB4c-3", "abcB4c-4\nabcB4c-4-2="]) + + call setreg('c', ['abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\nabcC4l-4-2"], 'l') + 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']") + call Assert_regput('c', ['==', 'abcC4l-0', "\n", "abcC4l-2\n", "\nabcC4l-3", "abcC4l-4\nabcC4l-4-2", '==']) + + call setreg('d', ['abcD4b-0', "\n", "abcD4b-2\n", "\nabcD4b-3", "abcD4b-4\nabcD4b-4-2"], 'b') + 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']") + call Assert_regput('d', ['==', '=abcD4b-0 =', " \n", " abcD4b-2\n", " \nabcD4b-3", " abcD4b-4\nabcD4b-4-2"]) + + call setreg('e', ['abcE4b10-0', "\n", "abcE4b10-2\n", "\nabcE4b10-3", "abcE4b10-4\nabcE4b10-4-2"], 'b10') + 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']") + call Assert_regput('e', ['==', '=abcE4b10-0=', " \n", " abcE4b10-2\n", " \nabcE4b10-3", " abcE4b10-4\nabcE4b10-4-2"]) + + " Search and expressions + call setreg('/', ['abc/']) + call Assert_reg('/', 'v', "abc/", "['abc/']", "abc/", "['abc/']") + call Assert_regput('/', ['==', '=abc/=']) + + call setreg('/', ["abc/\n"]) + call Assert_reg('/', 'v', "abc/\n", "['abc/\n']", "abc/\n", "['abc/\n']") + call Assert_regput('/', ['==', "=abc/\n="]) + + call setreg('=', ['"abc/"']) + call Assert_reg('=', 'v', "abc/", "['abc/']", '"abc/"', "['\"abc/\"']") + + call setreg('=', ["\"abc/\n\""]) + call Assert_reg('=', 'v', "abc/\n", "['abc/\n']", "\"abc/\n\"", "['\"abc/\n\"']") + + " System clipboard + if has('clipboard') + new | only! + call setline(1, ['clipboard contents', 'something else']) + " Save and restore system clipboard. + " If no connection to X-Server is possible, test should succeed. + let _clipreg = ['*', getreg('*'), getregtype('*')] + let _clipopt = &cb + let &cb='unnamed' + 1y + call Assert_reg('*', 'V', "clipboard contents\n", "['clipboard contents']", "clipboard contents\n", "['clipboard contents']") + tabdo :windo :echo "hi" + 2y + call Assert_reg('*', 'V', "something else\n", "['something else']", "something else\n", "['something else']") + let &cb=_clipopt + call call('setreg', _clipreg) + enew! + endif + " Error cases call assert_fails('call setreg()', 'E119:') call assert_fails('call setreg(1)', 'E119:') *** ../vim-8.2.0660/src/version.c 2020-04-29 21:03:51.119170214 +0200 --- src/version.c 2020-04-29 22:00:22.728883393 +0200 *************** *** 748,749 **** --- 748,751 ---- { /* Add new patch number below this line */ + /**/ + 661, /**/ -- I am also told that there is a logical proof out there somewhere that demonstrates that there is no task which duct tape cannot handle. -- Paul Brannan /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///