To: vim_dev@googlegroups.com Subject: Patch 9.0.1257 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 9.0.1257 Problem: Code style is not check in test scripts. Solution: Add basic code style check for test files. Files: src/testdir/test_codestyle.vim, src/testdir/keycode_check.vim, src/testdir/runtest.vim, src/testdir/setup.vim, src/testdir/summarize.vim, src/testdir/unix.vim, src/testdir/vim9.vim, src/testdir/test_assert.vim, src/testdir/test_autocmd.vim, src/testdir/test_blob.vim, src/testdir/test_blockedit.vim, src/testdir/test_channel.vim, src/testdir/test_cmd_lists.vim, src/testdir/test_diffmode.vim, src/testdir/test_edit.vim, src/testdir/test_expand.vim, src/testdir/test_expand_dllpath.vim, src/testdir/test_expand_func.vim, src/testdir/test_fold.vim, src/testdir/test_goto.vim, src/testdir/test_increment.vim, src/testdir/test_indent.vim, src/testdir/test_ins_complete.vim, src/testdir/test_listchars.vim, src/testdir/test_map_functions.vim, src/testdir/test_method.vim, src/testdir/test_mswin_event.vim, src/testdir/test_normal.vim, src/testdir/test_popup.vim, src/testdir/test_popupwin_textprop.vim, src/testdir/test_quickfix.vim, src/testdir/test_regexp_latin.vim, src/testdir/test_scroll_opt.vim, src/testdir/test_signals.vim, src/testdir/test_signs.vim, src/testdir/test_statusline.vim, src/testdir/test_substitute.vim, src/testdir/test_tagfunc.vim, src/testdir/test_tagjump.vim, src/testdir/test_termcodes.vim, src/testdir/test_textprop.vim, src/testdir/test_timers.vim, src/testdir/test_true_false.vim, src/testdir/test_utf8.vim, src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_class.vim, src/testdir/test_vim9_disassemble.vim, src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, src/testdir/test_vim9_import.vim, src/testdir/test_viminfo.vim, src/testdir/test_virtualedit.vim, src/testdir/test_visual.vim, src/testdir/test_winbuf_close.vim, src/testdir/test_xxd.vim *** ../vim-9.0.1256/src/testdir/test_codestyle.vim 2023-01-22 21:14:32.609863616 +0000 --- src/testdir/test_codestyle.vim 2023-01-28 19:15:37.693635461 +0000 *************** *** 41,45 **** --- 41,82 ---- bwipe! enddef + def Test_test_files() + for fname in glob('*.vim', 0, 1) + exe 'edit ' .. fname + + # some files intentionally have misplaced white space + if fname =~ 'test_cindent.vim' || fname =~ 'test_join.vim' + continue + endif + + # skip files that are known to have a space before a tab + if fname !~ 'test_comments.vim' + && fname !~ 'test_listchars.vim' + && fname !~ 'test_visual.vim' + cursor(1, 1) + var lnum = search(fname =~ "test_regexp_latin" ? '[^á] \t' : ' \t') + assert_equal(0, lnum, 'testdir/' .. fname .. ': space before tab') + endif + + # skip files that are known to have trailing white space + if fname !~ 'test_cmdline.vim' + && fname !~ 'test_let.vim' + && fname !~ 'test_tagjump.vim' + && fname !~ 'test_vim9_cmd.vim' + cursor(1, 1) + var lnum = search( + fname =~ 'test_vim9_assign.vim' ? '[^=]\s$' + : fname =~ 'test_vim9_class.vim' ? '[^)]\s$' + : fname =~ 'test_vim9_script.vim' ? '[^,:3]\s$' + : fname =~ 'test_visual.vim' ? '[^/]\s$' + : '[^\\]\s$') + assert_equal(0, lnum, 'testdir/' .. fname .. ': trailing white space') + endif + endfor + + bwipe! + enddef + " vim: shiftwidth=2 sts=2 expandtab *** ../vim-9.0.1256/src/testdir/keycode_check.vim 2022-11-27 11:31:20.645181563 +0000 --- src/testdir/keycode_check.vim 2023-01-26 21:10:46.884221149 +0000 *************** *** 4,11 **** # # Usage: vim -u NONE -S keycode_check.vim # ! # Author: Bram Moolenaar ! # Last Update: 2022 Nov 15 # # The codes are stored in the file "keycode_check.json", so that you can # compare the results of various terminals. --- 4,11 ---- # # Usage: vim -u NONE -S keycode_check.vim # ! # Author: Bram Moolenaar ! # Last Update: 2022 Nov 15 # # The codes are stored in the file "keycode_check.json", so that you can # compare the results of various terminals. *************** *** 449,455 **** # The main loop while true var action = inputlist(['Select operation:', ! '1. List results', '2. Add results for a new terminal', '3. Replace results', '4. Clear results', --- 449,455 ---- # The main loop while true var action = inputlist(['Select operation:', ! '1. List results', '2. Add results for a new terminal', '3. Replace results', '4. Clear results', *** ../vim-9.0.1256/src/testdir/runtest.vim 2022-12-08 16:30:13.147504028 +0000 --- src/testdir/runtest.vim 2023-01-25 14:37:50.859944252 +0000 *************** *** 59,65 **** endif " Check that the screen size is at least 24 x 80 characters. ! if &lines < 24 || &columns < 80 let error = 'Screen size too small! Tests require at least 24 lines with 80 characters, got ' .. &lines .. ' lines with ' .. &columns .. ' characters' echoerr error split test.log --- 59,65 ---- endif " Check that the screen size is at least 24 x 80 characters. ! if &lines < 24 || &columns < 80 let error = 'Screen size too small! Tests require at least 24 lines with 80 characters, got ' .. &lines .. ' lines with ' .. &columns .. ' characters' echoerr error split test.log *** ../vim-9.0.1256/src/testdir/setup.vim 2022-11-26 19:16:44.186717893 +0000 --- src/testdir/setup.vim 2023-01-26 21:03:06.960569487 +0000 *************** *** 20,26 **** let &packpath = &rtp endif ! " Only when the +eval feature is present. if 1 " Make sure the .Xauthority file can be found after changing $HOME. if $XAUTHORITY == '' --- 20,26 ---- let &packpath = &rtp endif ! " Only when the +eval feature is present. if 1 " Make sure the .Xauthority file can be found after changing $HOME. if $XAUTHORITY == '' *** ../vim-9.0.1256/src/testdir/summarize.vim 2020-08-13 18:36:41.000000000 +0100 --- src/testdir/summarize.vim 2023-01-26 21:03:35.540551987 +0000 *************** *** 33,39 **** silent %s/^SKIPPED \zs.*/\=Count(submatch(0), 'skipped')/egn silent %s/^\(\d\+\)\s\+FAILED:/\=Count(submatch(1), 'failed')/egn ! call extend(output, ["Skipped:"]) call extend(output, skipped_output) call extend(output, [ --- 33,39 ---- silent %s/^SKIPPED \zs.*/\=Count(submatch(0), 'skipped')/egn silent %s/^\(\d\+\)\s\+FAILED:/\=Count(submatch(1), 'failed')/egn ! call extend(output, ["Skipped:"]) call extend(output, skipped_output) call extend(output, [ *** ../vim-9.0.1256/src/testdir/unix.vim 2019-07-31 19:33:06.000000000 +0100 --- src/testdir/unix.vim 2023-01-28 19:16:32.601664167 +0000 *************** *** 2,8 **** " Always use "sh", don't use the value of "$SHELL". set shell=sh ! " Only when the +eval feature is present. if 1 " While some tests overwrite $HOME to prevent them from polluting user files, " we need to remember the original value so that we can tell external systems --- 2,8 ---- " Always use "sh", don't use the value of "$SHELL". set shell=sh ! " Only when the +eval feature is present. if 1 " While some tests overwrite $HOME to prevent them from polluting user files, " we need to remember the original value so that we can tell external systems *** ../vim-9.0.1256/src/testdir/vim9.vim 2022-02-10 21:50:29.000000000 +0000 --- src/testdir/vim9.vim 2023-01-26 21:31:51.922582763 +0000 *************** *** 195,208 **** # CheckLegacyAndVim9Success() export def CheckTransLegacySuccess(lines: list) var legacylines = lines->mapnew((_, v) => ! v->substitute('\', 'let', 'g') ! ->substitute('\', 'let', 'g') ! ->substitute('\', '{', 'g') ! ->substitute('\', '->', 'g') ->substitute('\', '}', 'g') ->substitute('\', '1', 'g') ->substitute('\', '0', 'g') ! ->substitute('#"', ' "', 'g')) CheckLegacySuccess(legacylines) enddef --- 195,208 ---- # CheckLegacyAndVim9Success() export def CheckTransLegacySuccess(lines: list) var legacylines = lines->mapnew((_, v) => ! v->substitute('\', 'let', 'g') ! ->substitute('\', 'let', 'g') ! ->substitute('\', '{', 'g') ! ->substitute('\', '->', 'g') ->substitute('\', '}', 'g') ->substitute('\', '1', 'g') ->substitute('\', '0', 'g') ! ->substitute('#"', ' "', 'g')) CheckLegacySuccess(legacylines) enddef *************** *** 262,275 **** endif var legacylines = lines->mapnew((_, v) => ! v->substitute('\', 'let', 'g') ! ->substitute('\', 'let', 'g') ! ->substitute('#"', ' "', 'g')) CheckLegacyFailure(legacylines, legacyError) var vim9lines = lines->mapnew((_, v) => ! v->substitute('\', 'var', 'g') ! ->substitute('\mapnew((_, v) => ! v->substitute('\', 'let', 'g') ! ->substitute('\', 'let', 'g') ! ->substitute('#"', ' "', 'g')) CheckLegacyFailure(legacylines, legacyError) var vim9lines = lines->mapnew((_, v) => ! v->substitute('\', 'var', 'g') ! ->substitute('\", 'txn') autocmd User Explode ++once redraw --- 3406,3412 ---- func Test_Visual_doautoall_redraw() call setline(1, ['a', 'b']) ! new wincmd p call feedkeys("G\", 'txn') autocmd User Explode ++once redraw *************** *** 4121,4127 **** func Test_autocmd_split_dummy() " Autocommand trying to split a window containing a dummy buffer. ! auto BufReadPre * exe "sbuf " .. expand("") " Avoid the "W11" prompt au FileChangedShell * let v:fcs_choice = 'reload' func Xautocmd_changelist() --- 4121,4127 ---- func Test_autocmd_split_dummy() " Autocommand trying to split a window containing a dummy buffer. ! auto BufReadPre * exe "sbuf " .. expand("") " Avoid the "W11" prompt au FileChangedShell * let v:fcs_choice = 'reload' func Xautocmd_changelist() *** ../vim-9.0.1256/src/testdir/test_blob.vim 2022-10-21 11:25:25.689652476 +0100 --- src/testdir/test_blob.vim 2023-01-26 21:05:00.676500733 +0000 *************** *** 498,504 **** call assert_equal(b[-3 :], br5) VAR br6 = readblob('Xblob', -3, 2) call assert_equal(b[-3 : -2], br6) ! #" reading past end of file, empty result VAR br1e = readblob('Xblob', 10000) call assert_equal(0z, br1e) --- 498,504 ---- call assert_equal(b[-3 :], br5) VAR br6 = readblob('Xblob', -3, 2) call assert_equal(b[-3 : -2], br6) ! #" reading past end of file, empty result VAR br1e = readblob('Xblob', 10000) call assert_equal(0z, br1e) *** ../vim-9.0.1256/src/testdir/test_blockedit.vim 2022-09-27 22:18:10.364276480 +0100 --- src/testdir/test_blockedit.vim 2023-01-26 21:05:27.944484562 +0000 *************** *** 52,58 **** let expected =<< trim END vim9script var d = { ! a: (): asdf => 0, b: (): asdf => 0, c: (): asdf => 0, } --- 52,58 ---- let expected =<< trim END vim9script var d = { ! a: (): asdf => 0, b: (): asdf => 0, c: (): asdf => 0, } *** ../vim-9.0.1256/src/testdir/test_channel.vim 2022-12-01 11:02:19.288680405 +0000 --- src/testdir/test_channel.vim 2023-01-26 21:05:53.496469533 +0000 *************** *** 20,26 **** " call ch_logfile('channellog', 'w') func SetUp() ! if g:testfunc =~ '_ipv6()$' let s:localhost = '[::1]:' let s:testscript = 'test_channel_6.py' elseif g:testfunc =~ '_unix()$' --- 20,26 ---- " call ch_logfile('channellog', 'w') func SetUp() ! if g:testfunc =~ '_ipv6()$' let s:localhost = '[::1]:' let s:testscript = 'test_channel_6.py' elseif g:testfunc =~ '_unix()$' *************** *** 1220,1226 **** func Test_pipe_to_buffer_raw() let options = {'out_mode': 'raw', 'out_io': 'buffer', 'out_name': 'testout'} split testout ! let job = job_start([s:python, '-c', \ 'import sys; [sys.stdout.write(".") and sys.stdout.flush() for _ in range(10000)]'], options) " the job may be done quickly, also accept "dead" call assert_match('^\%(dead\|run\)$', job_status(job)) --- 1220,1226 ---- func Test_pipe_to_buffer_raw() let options = {'out_mode': 'raw', 'out_io': 'buffer', 'out_name': 'testout'} split testout ! let job = job_start([s:python, '-c', \ 'import sys; [sys.stdout.write(".") and sys.stdout.flush() for _ in range(10000)]'], options) " the job may be done quickly, also accept "dead" call assert_match('^\%(dead\|run\)$', job_status(job)) *** ../vim-9.0.1256/src/testdir/test_cmd_lists.vim 2022-12-04 21:09:45.099172093 +0000 --- src/testdir/test_cmd_lists.vim 2023-01-26 21:07:13.376423105 +0000 *************** *** 50,56 **** \ 'interface', \ 'public', \ 'static', ! \ 'this', \ 'type', \ '++', \ '--', --- 50,56 ---- \ 'interface', \ 'public', \ 'static', ! \ 'this', \ 'type', \ '++', \ '--', *** ../vim-9.0.1256/src/testdir/test_diffmode.vim 2022-09-20 22:01:29.404759229 +0100 --- src/testdir/test_diffmode.vim 2023-01-26 21:17:33.115518481 +0000 *************** *** 360,366 **** call assert_equal('10', getline('.')) 21 call assert_equal('two', getline('.')) ! diffget one call assert_equal('20', getline('.')) 31 --- 360,366 ---- call assert_equal('10', getline('.')) 21 call assert_equal('two', getline('.')) ! diffget one call assert_equal('20', getline('.')) 31 *************** *** 1113,1119 **** CheckScreendump let lines =<< trim END ! void doNothing() { int x = 0; char *s = "hello"; return 5; --- 1113,1119 ---- CheckScreendump let lines =<< trim END ! void doNothing() { int x = 0; char *s = "hello"; return 5; *************** *** 1121,1127 **** END call writefile(lines, 'Xprogram1.c', 'D') let lines =<< trim END ! void doSomething() { int x = 0; char *s = "there"; return 5; --- 1121,1127 ---- END call writefile(lines, 'Xprogram1.c', 'D') let lines =<< trim END ! void doSomething() { int x = 0; char *s = "there"; return 5; *************** *** 1130,1136 **** call writefile(lines, 'Xprogram2.c', 'D') let lines =<< trim END ! edit Xprogram1.c diffsplit Xprogram2.c END call writefile(lines, 'Xtest_diff_syntax', 'D') --- 1130,1136 ---- call writefile(lines, 'Xprogram2.c', 'D') let lines =<< trim END ! edit Xprogram1.c diffsplit Xprogram2.c END call writefile(lines, 'Xtest_diff_syntax', 'D') *************** *** 1307,1318 **** func Test_diff_and_scroll() " this was causing an ml_get error set ls=2 ! for i in range(winheight(0) * 2) ! call setline(i, i < winheight(0) - 10 ? i : i + 10) endfor vnew ! for i in range(winheight(0)*2 + 10) ! call setline(i, i < winheight(0) - 10 ? 0 : i) endfor diffthis wincmd p --- 1307,1318 ---- func Test_diff_and_scroll() " this was causing an ml_get error set ls=2 ! for i in range(winheight(0) * 2) ! call setline(i, i < winheight(0) - 10 ? i : i + 10) endfor vnew ! for i in range(winheight(0)*2 + 10) ! call setline(i, i < winheight(0) - 10 ? 0 : i) endfor diffthis wincmd p *** ../vim-9.0.1256/src/testdir/test_edit.vim 2023-01-25 15:31:24.358723462 +0000 --- src/testdir/test_edit.vim 2023-01-26 21:17:48.071497588 +0000 *************** *** 2072,2078 **** file %%%%%%%%%%%%%%%%%%%%%%%%%% file %%%%%% set readonly ! set ls=2 redraw! set noreadonly ls& --- 2072,2078 ---- file %%%%%%%%%%%%%%%%%%%%%%%%%% file %%%%%% set readonly ! set ls=2 redraw! set noreadonly ls& *** ../vim-9.0.1256/src/testdir/test_expand.vim 2022-09-21 21:59:58.273433517 +0100 --- src/testdir/test_expand.vim 2023-01-26 21:18:07.603470680 +0000 *************** *** 45,53 **** func Test_expand_tilde_filename() split ~ ! call assert_equal('~', expand('%')) call assert_notequal(expand('%:p'), expand('~/')) ! call assert_match('\~', expand('%:p')) bwipe! endfunc --- 45,53 ---- func Test_expand_tilde_filename() split ~ ! call assert_equal('~', expand('%')) call assert_notequal(expand('%:p'), expand('~/')) ! call assert_match('\~', expand('%:p')) bwipe! endfunc *** ../vim-9.0.1256/src/testdir/test_expand_dllpath.vim 2020-08-12 17:43:41.000000000 +0100 --- src/testdir/test_expand_dllpath.vim 2023-01-26 21:18:34.695434079 +0000 *************** *** 4,15 **** let $TEST_EXPAND_DLLPATH = '/dllpath/lib' . substitute(a:optname, '\zedll$', '.', '') execute 'let dllpath_save = &' . a:optname try ! execute 'set ' . a:optname . '=$TEST_EXPAND_DLLPATH' ! execute 'call assert_equal("' . $TEST_EXPAND_DLLPATH . '", &' . a:optname . ')' execute 'set ' . a:optname . '=~' . $TEST_EXPAND_DLLPATH let home = substitute($HOME, '\\', '/', 'g') ! execute 'call assert_equal("' . home . $TEST_EXPAND_DLLPATH . '", &' . a:optname . ')' finally execute 'let &' . a:optname . ' = dllpath_save' let $TEST_EXPAND_DLLPATH = '' --- 4,15 ---- let $TEST_EXPAND_DLLPATH = '/dllpath/lib' . substitute(a:optname, '\zedll$', '.', '') execute 'let dllpath_save = &' . a:optname try ! execute 'set ' . a:optname . '=$TEST_EXPAND_DLLPATH' ! execute 'call assert_equal("' . $TEST_EXPAND_DLLPATH . '", &' . a:optname . ')' execute 'set ' . a:optname . '=~' . $TEST_EXPAND_DLLPATH let home = substitute($HOME, '\\', '/', 'g') ! execute 'call assert_equal("' . home . $TEST_EXPAND_DLLPATH . '", &' . a:optname . ')' finally execute 'let &' . a:optname . ' = dllpath_save' let $TEST_EXPAND_DLLPATH = '' *** ../vim-9.0.1256/src/testdir/test_expand_func.vim 2022-09-21 21:59:58.273433517 +0100 --- src/testdir/test_expand_func.vim 2023-01-26 21:18:59.811400859 +0000 *************** *** 7,21 **** let s:sflnum = str2nr(expand('')) func s:expand_sfile() ! return expand('') endfunc func s:expand_slnum() ! return str2nr(expand('')) endfunc func s:expand_sflnum() ! return str2nr(expand('')) endfunc " This test depends on the location in the test file, put it first. --- 7,21 ---- let s:sflnum = str2nr(expand('')) func s:expand_sfile() ! return expand('') endfunc func s:expand_slnum() ! return str2nr(expand('')) endfunc func s:expand_sflnum() ! return str2nr(expand('')) endfunc " This test depends on the location in the test file, put it first. *** ../vim-9.0.1256/src/testdir/test_fold.vim 2023-01-25 15:31:24.358723462 +0000 --- src/testdir/test_fold.vim 2023-01-26 21:20:52.763258916 +0000 *************** *** 456,462 **** %foldopen! 13m7 call Check_foldlevels([1, 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 0]) ! bw! endfunc --- 456,462 ---- %foldopen! 13m7 call Check_foldlevels([1, 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 0]) ! bw! endfunc *************** *** 705,711 **** let content =<< trim [CODE] /* * comment ! * * */ int f(int* p) { --- 705,711 ---- let content =<< trim [CODE] /* * comment ! * * */ int f(int* p) { *** ../vim-9.0.1256/src/testdir/test_goto.vim 2020-10-04 15:14:00.000000000 +0100 --- src/testdir/test_goto.vim 2023-01-26 21:21:45.507196331 +0000 *************** *** 17,23 **** func Test_gD() let lines =<< trim [CODE] int x; ! int func(void) { return x; --- 17,23 ---- func Test_gD() let lines =<< trim [CODE] int x; ! int func(void) { return x; *************** *** 30,36 **** func Test_gD_too() let lines =<< trim [CODE] Filename x; ! int Filename int func() { Filename x; --- 30,36 ---- func Test_gD_too() let lines =<< trim [CODE] Filename x; ! int Filename int func() { Filename x; *************** *** 44,50 **** let lines =<< trim [CODE] /* int x; */ int x; ! int func(void) { return x; --- 44,50 ---- let lines =<< trim [CODE] /* int x; */ int x; ! int func(void) { return x; *************** *** 58,64 **** let lines =<< trim [CODE] int y /* , x */; int x; ! int func(void) { return x; --- 58,64 ---- let lines =<< trim [CODE] int y /* , x */; int x; ! int func(void) { return x; *************** *** 72,78 **** let lines =<< trim [CODE] char *s[] = "x"; int x = 1; ! int func(void) { return x; --- 72,78 ---- let lines =<< trim [CODE] char *s[] = "x"; int x = 1; ! int func(void) { return x; *************** *** 85,91 **** func Test_gD_string_same_line() let lines =<< trim [CODE] char *s[] = "x", int x = 1; ! int func(void) { return x; --- 85,91 ---- func Test_gD_string_same_line() let lines =<< trim [CODE] char *s[] = "x", int x = 1; ! int func(void) { return x; *************** *** 99,105 **** let lines =<< trim [CODE] char c = 'x'; int x = 1; ! int func(void) { return x; --- 99,105 ---- let lines =<< trim [CODE] char c = 'x'; int x = 1; ! int func(void) { return x; *************** *** 112,118 **** func Test_gd() let lines =<< trim [CODE] int x; ! int func(int x) { return x; --- 112,118 ---- func Test_gd() let lines =<< trim [CODE] int x; ! int func(int x) { return x; *************** *** 146,152 **** { return x; } ! int func2(int x) { return x; --- 146,152 ---- { return x; } ! int func2(int x) { return x; *************** *** 173,181 **** def func1(a) a + 1 end ! a = 1 ! def func2() return a end --- 173,181 ---- def func1(a) a + 1 end ! a = 1 ! def func2() return a end *************** *** 252,262 **** int func(void) { int y /* , x */; ! for (/* int x = 0 */; y < 2; y++); ! int x = 0; ! return x; } [CODE] --- 252,262 ---- int func(void) { int y /* , x */; ! for (/* int x = 0 */; y < 2; y++); ! int x = 0; ! return x; } [CODE] *************** *** 292,298 **** { char *s = "x"; int x = 1; ! return x; } [CODE] --- 292,298 ---- { char *s = "x"; int x = 1; ! return x; } [CODE] *************** *** 304,310 **** int func(void) { char *s = "x"; ! return x; } [CODE] --- 304,310 ---- int func(void) { char *s = "x"; ! return x; } [CODE] *************** *** 341,347 **** char *b = "NULL"; return b; } ! return 0; } [CODE] --- 341,347 ---- char *b = "NULL"; return b; } ! return 0; } [CODE] *** ../vim-9.0.1256/src/testdir/test_increment.vim 2021-05-29 15:26:26.000000000 +0100 --- src/testdir/test_increment.vim 2023-01-26 21:22:46.803126140 +0000 *************** *** 704,710 **** " Text: " 1 23 " 4 56 ! " " Expected: " 1) f2 Ctrl-V jl , repeat twice afterwards with . " 1 26 --- 704,710 ---- " Text: " 1 23 " 4 56 ! " " Expected: " 1) f2 Ctrl-V jl , repeat twice afterwards with . " 1 26 *** ../vim-9.0.1256/src/testdir/test_indent.vim 2022-09-29 21:01:52.202807948 +0100 --- src/testdir/test_indent.vim 2023-01-26 21:22:21.155155190 +0000 *************** *** 175,181 **** endfunc func Test_indent_func_with_gq() ! function GetTeXIndent() " Sample indent expression for TeX files let lnum = prevnonblank(v:lnum - 1) --- 175,181 ---- endfunc func Test_indent_func_with_gq() ! function GetTeXIndent() " Sample indent expression for TeX files let lnum = prevnonblank(v:lnum - 1) *************** *** 186,192 **** let line = getline(lnum) let ind = indent(lnum) " Add a 'shiftwidth' after beginning of environments. ! if line =~ '\\begin{center}' let ind = ind + shiftwidth() endif return ind --- 186,192 ---- let line = getline(lnum) let ind = indent(lnum) " Add a 'shiftwidth' after beginning of environments. ! if line =~ '\\begin{center}' let ind = ind + shiftwidth() endif return ind *************** *** 248,254 **** bwipe! delmark ab ! delfunction GetTeXIndent endfu func Test_formatting_keeps_first_line_indent() --- 248,254 ---- bwipe! delmark ab ! delfunction GetTeXIndent endfu func Test_formatting_keeps_first_line_indent() *** ../vim-9.0.1256/src/testdir/test_ins_complete.vim 2022-12-15 13:48:25.594876357 +0000 --- src/testdir/test_ins_complete.vim 2023-01-26 21:23:19.135090100 +0000 *************** *** 2149,2155 **** func Test_ins_complete_end_of_line() " this was reading past the end of the line ! new norm 8o€ý  sil! norm o --- 2149,2155 ---- func Test_ins_complete_end_of_line() " this was reading past the end of the line ! new norm 8o€ý  sil! norm o *** ../vim-9.0.1256/src/testdir/test_listchars.vim 2022-09-29 21:01:52.206807939 +0100 --- src/testdir/test_listchars.vim 2023-01-26 21:28:43.766757870 +0000 *************** *** 506,512 **** set list set listchars=eol:$,space:_,nbsp:= ! let nbsp1 = nr2char(0xa0) let nbsp2 = nr2char(0x202f) call append(0, [ --- 506,512 ---- set list set listchars=eol:$,space:_,nbsp:= ! let nbsp1 = nr2char(0xa0) let nbsp2 = nr2char(0x202f) call append(0, [ *** ../vim-9.0.1256/src/testdir/test_map_functions.vim 2022-11-02 13:30:37.546314580 +0000 --- src/testdir/test_map_functions.vim 2023-01-28 18:12:29.232097800 +0000 *************** *** 1,7 **** " Tests for maparg(), mapcheck(), mapset(), maplist() " Also test utf8 map with a 0x80 byte. ! func s:SID() return str2nr(matchstr(expand(''), '\zs\d\+\ze_SID$')) endfunc --- 1,7 ---- " Tests for maparg(), mapcheck(), mapset(), maplist() " Also test utf8 map with a 0x80 byte. ! func s:SID() return str2nr(matchstr(expand(''), '\zs\d\+\ze_SID$')) endfunc *************** *** 18,24 **** call assert_equal({'silent': 0, 'noremap': 0, 'script': 0, 'lhs': 'foo', \ 'lhsraw': "foo\x80\xfc\x04V", 'lhsrawalt': "foo\x16", \ 'mode': ' ', 'nowait': 0, 'expr': 0, 'sid': sid, 'scriptversion': 1, ! \ 'lnum': lnum + 1, \ 'rhs': 'isfoo', 'buffer': 0, 'abbr': 0, 'mode_bits': 0x47}, \ maparg('foo', '', 0, 1)) call assert_equal({'silent': 1, 'noremap': 1, 'script': 1, 'lhs': 'bar', --- 18,24 ---- call assert_equal({'silent': 0, 'noremap': 0, 'script': 0, 'lhs': 'foo', \ 'lhsraw': "foo\x80\xfc\x04V", 'lhsrawalt': "foo\x16", \ 'mode': ' ', 'nowait': 0, 'expr': 0, 'sid': sid, 'scriptversion': 1, ! \ 'lnum': lnum + 1, \ 'rhs': 'isfoo', 'buffer': 0, 'abbr': 0, 'mode_bits': 0x47}, \ maparg('foo', '', 0, 1)) call assert_equal({'silent': 1, 'noremap': 1, 'script': 1, 'lhs': 'bar', *** ../vim-9.0.1256/src/testdir/test_method.vim 2022-09-17 21:07:52.107993141 +0100 --- src/testdir/test_method.vim 2023-01-28 18:13:01.012057807 +0000 *************** *** 127,133 **** func Test_method_syntax() eval [1, 2, 3] ->sort( ) ! eval [1, 2, 3] \ ->sort( \ ) eval [1, 2, 3]->sort() --- 127,133 ---- func Test_method_syntax() eval [1, 2, 3] ->sort( ) ! eval [1, 2, 3] \ ->sort( \ ) eval [1, 2, 3]->sort() *** ../vim-9.0.1256/src/testdir/test_mswin_event.vim 2023-01-10 13:42:59.722128350 +0000 --- src/testdir/test_mswin_event.vim 2023-01-28 18:13:44.452006718 +0000 *************** *** 43,49 **** endfor endfunc ! " This tells Vim to execute the buffered keys as user commands, " ie. same as feekdeys with mode X would do. func ExecuteBufferedKeys() if has('gui_running') --- 43,49 ---- endfor endfunc ! " This tells Vim to execute the buffered keys as user commands, " ie. same as feekdeys with mode X would do. func ExecuteBufferedKeys() if has('gui_running') *************** *** 158,164 **** let s:MOD_MASK_SHIFT = 0x02 let s:MOD_MASK_CTRL = 0x04 let s:MOD_MASK_ALT = 0x08 ! let s:vim_key_modifiers = [ \ ["", 0, []], \ ["S-", 2, [s:VK.LSHIFT]], --- 158,164 ---- let s:MOD_MASK_SHIFT = 0x02 let s:MOD_MASK_CTRL = 0x04 let s:MOD_MASK_ALT = 0x08 ! let s:vim_key_modifiers = [ \ ["", 0, []], \ ["S-", 2, [s:VK.LSHIFT]], *************** *** 431,437 **** " Test for lowercase 'a' to 'z', VK codes 65(0x41) - 90(0x5A) " Note: VK_A-VK_Z virtual key codes coincide with uppercase ASCII codes A-Z. " eg VK_A is 65, and the ASCII character code for uppercase 'A' is also 65. ! " Caution: these are interpreted as lowercase when Shift is NOT pressed. " eg, sending VK_A (65) 'A' Key code without shift modifier, will produce ASCII " char 'a' (91) as the output. The ASCII codes for the lowercase letters are " numbered 32 higher than their uppercase versions. --- 431,437 ---- " Test for lowercase 'a' to 'z', VK codes 65(0x41) - 90(0x5A) " Note: VK_A-VK_Z virtual key codes coincide with uppercase ASCII codes A-Z. " eg VK_A is 65, and the ASCII character code for uppercase 'A' is also 65. ! " Caution: these are interpreted as lowercase when Shift is NOT pressed. " eg, sending VK_A (65) 'A' Key code without shift modifier, will produce ASCII " char 'a' (91) as the output. The ASCII codes for the lowercase letters are " numbered 32 higher than their uppercase versions. *************** *** 808,814 **** call MouseShiftWheelDown(2, 1) call feedkeys("H", 'Lx!') " should scroll from where it is (4) + visible buffer height - cmdheight ! let shift_scroll_height = line('w$') - line('w0') - &cmdheight call assert_equal(4 + shift_scroll_height, line('.')) " Shift Scroll Up --- 808,814 ---- call MouseShiftWheelDown(2, 1) call feedkeys("H", 'Lx!') " should scroll from where it is (4) + visible buffer height - cmdheight ! let shift_scroll_height = line('w$') - line('w0') - &cmdheight call assert_equal(4 + shift_scroll_height, line('.')) " Shift Scroll Up *************** *** 821,827 **** call MSWinMouseEvent(0x100, 2, 1, 0, 0, 0x04) call feedkeys("H", 'Lx!') " should scroll from where it is (4) + visible buffer height - cmdheight ! let shift_scroll_height = line('w$') - line('w0') - &cmdheight call assert_equal(4 + shift_scroll_height, line('.')) " Shift Scroll Up (using MOD) --- 821,827 ---- call MSWinMouseEvent(0x100, 2, 1, 0, 0, 0x04) call feedkeys("H", 'Lx!') " should scroll from where it is (4) + visible buffer height - cmdheight ! let shift_scroll_height = line('w$') - line('w0') - &cmdheight call assert_equal(4 + shift_scroll_height, line('.')) " Shift Scroll Up (using MOD) *************** *** 854,860 **** call feedkeys('g0', 'Lx!') " should scroll from where it is (7) + window width call assert_equal(7 + winwidth(0), col('.')) ! " Shift Scroll Left call MouseShiftWheelLeft(1, 50) call feedkeys('g0', 'Lx!') --- 854,860 ---- call feedkeys('g0', 'Lx!') " should scroll from where it is (7) + window width call assert_equal(7 + winwidth(0), col('.')) ! " Shift Scroll Left call MouseShiftWheelLeft(1, 50) call feedkeys('g0', 'Lx!') *************** *** 880,887 **** \ substitute(e, '[<>]', '', 'g') .. '")' endfor ! " Test various mouse buttons ! "(0 - Left, 1 - Middle, 2 - Right, " 0x300 - MOUSE_X1/FROM_LEFT_3RD_BUTTON, " 0x400 - MOUSE_X2/FROM_LEFT_4TH_BUTTON) for button in [0, 1, 2, 0x300, 0x400] --- 880,887 ---- \ substitute(e, '[<>]', '', 'g') .. '")' endfor ! " Test various mouse buttons ! "(0 - Left, 1 - Middle, 2 - Right, " 0x300 - MOUSE_X1/FROM_LEFT_3RD_BUTTON, " 0x400 - MOUSE_X2/FROM_LEFT_4TH_BUTTON) for button in [0, 1, 2, 0x300, 0x400] *************** *** 971,980 **** let args = #{button: 0, row: 2, col: 4, move: 0, multiclick: 0, modifiers: 0} call assert_fails("call test_mswin_event('a1b2c3', args)", 'E475:') call assert_fails("call test_mswin_event(test_null_string(), {})", 'E475:') ! call assert_fails("call test_mswin_event([], args)", 'E1174:') call assert_fails("call test_mswin_event('abc', [])", 'E1206:') ! call assert_false(test_mswin_event('mouse', test_null_dict())) let args = #{row: 2, col: 4, multiclick: 0, modifiers: 0} call assert_false(test_mswin_event('mouse', args)) --- 971,980 ---- let args = #{button: 0, row: 2, col: 4, move: 0, multiclick: 0, modifiers: 0} call assert_fails("call test_mswin_event('a1b2c3', args)", 'E475:') call assert_fails("call test_mswin_event(test_null_string(), {})", 'E475:') ! call assert_fails("call test_mswin_event([], args)", 'E1174:') call assert_fails("call test_mswin_event('abc', [])", 'E1206:') ! call assert_false(test_mswin_event('mouse', test_null_dict())) let args = #{row: 2, col: 4, multiclick: 0, modifiers: 0} call assert_false(test_mswin_event('mouse', args)) *** ../vim-9.0.1256/src/testdir/test_normal.vim 2023-01-25 15:31:24.358723462 +0000 --- src/testdir/test_normal.vim 2023-01-28 18:14:13.067975186 +0000 *************** *** 2209,2215 **** a character like this: .NH End of text here ! [DATA] call assert_equal(expected, getline(1, '$')) --- 2209,2215 ---- a character like this: .NH End of text here ! [DATA] call assert_equal(expected, getline(1, '$')) *** ../vim-9.0.1256/src/testdir/test_popup.vim 2022-11-12 17:30:21.784661867 +0000 --- src/testdir/test_popup.vim 2023-01-28 18:14:45.851940995 +0000 *************** *** 16,22 **** if !empty(entered) let mth = filter(mth, 'v:val=~"^".entered') endif ! call complete(1, mth) return '' endfunc --- 16,22 ---- if !empty(entered) let mth = filter(mth, 'v:val=~"^".entered') endif ! call complete(1, mth) return '' endfunc *************** *** 74,80 **** call feedkeys("aJu\\l\", 'tx') call assert_equal(["Jul"], getline(1,2)) %d ! " any-non printable, non-white character: Add this character and " reduce number of matches call feedkeys("aJu\\l\\", 'tx') --- 74,80 ---- call feedkeys("aJu\\l\", 'tx') call assert_equal(["Jul"], getline(1,2)) %d ! " any-non printable, non-white character: Add this character and " reduce number of matches call feedkeys("aJu\\l\\", 'tx') *************** *** 96,102 **** call feedkeys("aJ\".repeat("\",3)."\\", 'tx') call assert_equal(["J "], getline(1,2)) %d ! " - Insert one character from the current match call feedkeys("aJ\".repeat("\",4)."\\", 'tx') call assert_equal(["January "], getline(1,2)) --- 96,102 ---- call feedkeys("aJ\".repeat("\",3)."\\", 'tx') call assert_equal(["J "], getline(1,2)) %d ! " - Insert one character from the current match call feedkeys("aJ\".repeat("\",4)."\\", 'tx') call assert_equal(["January "], getline(1,2)) *************** *** 856,862 **** call term_sendkeys(buf, "jI123456789_\") call term_sendkeys(buf, "GA\") call VerifyScreenDump(buf, 'Test_popup_position_04', {'rows': 10}) ! call term_sendkeys(buf, "\u") call StopVimInTerminal(buf) endfunc --- 856,862 ---- call term_sendkeys(buf, "jI123456789_\") call term_sendkeys(buf, "GA\") call VerifyScreenDump(buf, 'Test_popup_position_04', {'rows': 10}) ! call term_sendkeys(buf, "\u") call StopVimInTerminal(buf) endfunc *** ../vim-9.0.1256/src/testdir/test_popupwin_textprop.vim 2022-09-30 21:57:07.547153409 +0100 --- src/testdir/test_popupwin_textprop.vim 2023-01-28 18:20:32.239677408 +0000 *************** *** 21,27 **** \ bufnr: bufnr('%'), \ }) let winid = popup_create('the text', #{ ! \ pos: 'botleft', \ textprop: 'popupMarker', \ border: [], \ padding: [0,1,0,1], --- 21,27 ---- \ bufnr: bufnr('%'), \ }) let winid = popup_create('the text', #{ ! \ pos: 'botleft', \ textprop: 'popupMarker', \ border: [], \ padding: [0,1,0,1], *************** *** 67,91 **** \ type: 'popupMarker', \ }) let winid = popup_create('bottom left', #{ ! \ pos: 'botleft', \ textprop: 'popupMarker', \ textpropwin: win_getid(), \ padding: [0,1,0,1], \ }) let winid = popup_create('bottom right', #{ ! \ pos: 'botright', \ textprop: 'popupMarker', \ border: [], \ padding: [0,1,0,1], \ }) let winid = popup_create('top left', #{ ! \ pos: 'topleft', \ textprop: 'popupMarker', \ border: [], \ padding: [0,1,0,1], \ }) let winid = popup_create('top right', #{ ! \ pos: 'topright', \ textprop: 'popupMarker', \ padding: [0,1,0,1], \ }) --- 67,91 ---- \ type: 'popupMarker', \ }) let winid = popup_create('bottom left', #{ ! \ pos: 'botleft', \ textprop: 'popupMarker', \ textpropwin: win_getid(), \ padding: [0,1,0,1], \ }) let winid = popup_create('bottom right', #{ ! \ pos: 'botright', \ textprop: 'popupMarker', \ border: [], \ padding: [0,1,0,1], \ }) let winid = popup_create('top left', #{ ! \ pos: 'topleft', \ textprop: 'popupMarker', \ border: [], \ padding: [0,1,0,1], \ }) let winid = popup_create('top right', #{ ! \ pos: 'topright', \ textprop: 'popupMarker', \ padding: [0,1,0,1], \ }) *************** *** 127,140 **** \ type: 'popupMarker', \ }) let winid = popup_create('bottom left', #{ ! \ pos: 'botleft', \ line: -1, \ col: 2, \ textprop: 'popupMarker', \ padding: [0,1,0,1], \ }) let winid = popup_create('bottom right', #{ ! \ pos: 'botright', \ line: -1, \ col: -2, \ textprop: 'popupMarker', --- 127,140 ---- \ type: 'popupMarker', \ }) let winid = popup_create('bottom left', #{ ! \ pos: 'botleft', \ line: -1, \ col: 2, \ textprop: 'popupMarker', \ padding: [0,1,0,1], \ }) let winid = popup_create('bottom right', #{ ! \ pos: 'botright', \ line: -1, \ col: -2, \ textprop: 'popupMarker', *************** *** 142,148 **** \ padding: [0,1,0,1], \ }) let winid = popup_create('top left', #{ ! \ pos: 'topleft', \ line: 1, \ col: 2, \ textprop: 'popupMarker', --- 142,148 ---- \ padding: [0,1,0,1], \ }) let winid = popup_create('top left', #{ ! \ pos: 'topleft', \ line: 1, \ col: 2, \ textprop: 'popupMarker', *************** *** 150,156 **** \ padding: [0,1,0,1], \ }) let winid = popup_create('top right', #{ ! \ pos: 'topright', \ line: 1, \ col: -2, \ textprop: 'popupMarker', --- 150,156 ---- \ padding: [0,1,0,1], \ }) let winid = popup_create('top right', #{ ! \ pos: 'topright', \ line: 1, \ col: -2, \ textprop: 'popupMarker', *** ../vim-9.0.1256/src/testdir/test_quickfix.vim 2022-12-12 13:20:37.622734681 +0000 --- src/testdir/test_quickfix.vim 2023-01-28 18:17:51.275780733 +0000 *************** *** 1211,1230 **** "Xtestfile", linenr 16: yet another problem Error in "Xtestfile" at line 17: x should be a dot ! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 17 ^ Error in "Xtestfile" at line 18: x should be a dot ! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 18 .............^ Error in "Xtestfile" at line 19: x should be a dot ! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 19 --------------^ Error in "Xtestfile" at line 20: x should be a dot ! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20 ! ^ Does anyone know what is the problem and how to correction it? "Xtestfile", line 21 col 9: What is the title of the quickfix window? --- 1211,1230 ---- "Xtestfile", linenr 16: yet another problem Error in "Xtestfile" at line 17: x should be a dot ! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 17 ^ Error in "Xtestfile" at line 18: x should be a dot ! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 18 .............^ Error in "Xtestfile" at line 19: x should be a dot ! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 19 --------------^ Error in "Xtestfile" at line 20: x should be a dot ! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx line 20 ! ^ Does anyone know what is the problem and how to correction it? "Xtestfile", line 21 col 9: What is the title of the quickfix window? *************** *** 1570,1576 **** failUnlessEqual raise self.failureException, \\ W:AssertionError: 34 != 33 ! -------------------------------------------------------------- Ran 27 tests in 0.063s [DATA] --- 1570,1576 ---- failUnlessEqual raise self.failureException, \\ W:AssertionError: 34 != 33 ! -------------------------------------------------------------- Ran 27 tests in 0.063s [DATA] *** ../vim-9.0.1256/src/testdir/test_regexp_latin.vim 2022-09-08 12:17:02.006342437 +0100 --- src/testdir/test_regexp_latin.vim 2023-01-28 18:18:39.099747063 +0000 *************** *** 1149,1155 **** # matchstr(). enew setline(1, ['one', 'two', 'three']) ! :3 :/ee bwipe! set re=1 --- 1149,1155 ---- # matchstr(). enew setline(1, ['one', 'two', 'three']) ! :3 :/ee bwipe! set re=1 *** ../vim-9.0.1256/src/testdir/test_scroll_opt.vim 2023-01-26 14:14:18.835484390 +0000 --- src/testdir/test_scroll_opt.vim 2023-01-28 18:24:29.483566847 +0000 *************** *** 271,288 **** call term_sendkeys(buf, ":set scrolloff=1\") call term_sendkeys(buf, "10|\") call VerifyScreenDump(buf, 'Test_smooth_long_6', {}) ! " 'scrolloff' set to 1, scrolling down, cursor moves screen line up call term_sendkeys(buf, "\") call term_sendkeys(buf, "gjgj") call term_sendkeys(buf, "\") call VerifyScreenDump(buf, 'Test_smooth_long_7', {}) ! " 'scrolloff' set to 2, scrolling up, cursor moves screen line down call term_sendkeys(buf, ":set scrolloff=2\") call term_sendkeys(buf, "10|\") call VerifyScreenDump(buf, 'Test_smooth_long_8', {}) ! " 'scrolloff' set to 2, scrolling down, cursor moves screen line up call term_sendkeys(buf, "\") call term_sendkeys(buf, "gj") --- 271,288 ---- call term_sendkeys(buf, ":set scrolloff=1\") call term_sendkeys(buf, "10|\") call VerifyScreenDump(buf, 'Test_smooth_long_6', {}) ! " 'scrolloff' set to 1, scrolling down, cursor moves screen line up call term_sendkeys(buf, "\") call term_sendkeys(buf, "gjgj") call term_sendkeys(buf, "\") call VerifyScreenDump(buf, 'Test_smooth_long_7', {}) ! " 'scrolloff' set to 2, scrolling up, cursor moves screen line down call term_sendkeys(buf, ":set scrolloff=2\") call term_sendkeys(buf, "10|\") call VerifyScreenDump(buf, 'Test_smooth_long_8', {}) ! " 'scrolloff' set to 2, scrolling down, cursor moves screen line up call term_sendkeys(buf, "\") call term_sendkeys(buf, "gj") *************** *** 320,326 **** call term_sendkeys(buf, "3Gzt") call term_sendkeys(buf, "\j") call VerifyScreenDump(buf, 'Test_smooth_long_15', {}) ! call StopVimInTerminal(buf) endfunc --- 320,326 ---- call term_sendkeys(buf, "3Gzt") call term_sendkeys(buf, "\j") call VerifyScreenDump(buf, 'Test_smooth_long_15', {}) ! call StopVimInTerminal(buf) endfunc *************** *** 335,341 **** call writefile(lines, 'XSmoothOneLong', 'D') let buf = RunVimInTerminal('-S XSmoothOneLong', #{rows: 6, cols: 40}) call VerifyScreenDump(buf, 'Test_smooth_one_long_1', {}) ! call term_sendkeys(buf, "\") call VerifyScreenDump(buf, 'Test_smooth_one_long_2', {}) --- 335,341 ---- call writefile(lines, 'XSmoothOneLong', 'D') let buf = RunVimInTerminal('-S XSmoothOneLong', #{rows: 6, cols: 40}) call VerifyScreenDump(buf, 'Test_smooth_one_long_1', {}) ! call term_sendkeys(buf, "\") call VerifyScreenDump(buf, 'Test_smooth_one_long_2', {}) *************** *** 357,363 **** call writefile(lines, 'XSmoothLongShowbreak', 'D') let buf = RunVimInTerminal('-S XSmoothLongShowbreak', #{rows: 6, cols: 40}) call VerifyScreenDump(buf, 'Test_smooth_long_showbreak_1', {}) ! call term_sendkeys(buf, "\") call VerifyScreenDump(buf, 'Test_smooth_long_showbreak_2', {}) --- 357,363 ---- call writefile(lines, 'XSmoothLongShowbreak', 'D') let buf = RunVimInTerminal('-S XSmoothLongShowbreak', #{rows: 6, cols: 40}) call VerifyScreenDump(buf, 'Test_smooth_long_showbreak_1', {}) ! call term_sendkeys(buf, "\") call VerifyScreenDump(buf, 'Test_smooth_long_showbreak_2', {}) *************** *** 465,471 **** call NewWindow(10, 20) setl smoothscroll wrap setl scrolloff=3 ! " 120 chars are 6 screen lines call setline(1, "abcdefghijklmnopqrstABCDEFGHIJKLMNOPQRSTabcdefghijklmnopqrstABCDEFGHIJKLMNOPQRSTabcdefghijklmnopqrstABCDEFGHIJKLMNOPQRST") call setline(2, "below") --- 465,471 ---- call NewWindow(10, 20) setl smoothscroll wrap setl scrolloff=3 ! " 120 chars are 6 screen lines call setline(1, "abcdefghijklmnopqrstABCDEFGHIJKLMNOPQRSTabcdefghijklmnopqrstABCDEFGHIJKLMNOPQRSTabcdefghijklmnopqrstABCDEFGHIJKLMNOPQRST") call setline(2, "below") *** ../vim-9.0.1256/src/testdir/test_signals.vim 2022-10-10 22:39:38.203545897 +0100 --- src/testdir/test_signals.vim 2023-01-28 18:24:56.831556496 +0000 *************** *** 133,139 **** sleep 100m " We resume after the suspend. Sleep a bit for the signal to take effect, ! " also when running under valgrind. exe 'silent !kill -s CONT ' .. pid_vim call WaitForAssert({-> assert_true(filereadable('XautoOut2'))}) sleep 10m --- 133,139 ---- sleep 100m " We resume after the suspend. Sleep a bit for the signal to take effect, ! " also when running under valgrind. exe 'silent !kill -s CONT ' .. pid_vim call WaitForAssert({-> assert_true(filereadable('XautoOut2'))}) sleep 10m *** ../vim-9.0.1256/src/testdir/test_signs.vim 2022-12-12 13:20:37.622734681 +0000 --- src/testdir/test_signs.vim 2023-01-28 18:25:32.679543558 +0000 *************** *** 1775,1784 **** let lines =<< trim END call setline(1, [repeat('x', 75), 'mmmm', 'yyyy']) call cursor(2,1) ! sign define s1 texthl=Search text==> ! sign define s2 linehl=Pmenu redraw ! sign place 10 line=2 name=s1 END call writefile(lines, 'XtestSigncolumn', 'D') let buf = RunVimInTerminal('-S XtestSigncolumn', {'rows': 6}) --- 1775,1784 ---- let lines =<< trim END call setline(1, [repeat('x', 75), 'mmmm', 'yyyy']) call cursor(2,1) ! sign define s1 texthl=Search text==> ! sign define s2 linehl=Pmenu redraw ! sign place 10 line=2 name=s1 END call writefile(lines, 'XtestSigncolumn', 'D') let buf = RunVimInTerminal('-S XtestSigncolumn', {'rows': 6}) *** ../vim-9.0.1256/src/testdir/test_statusline.vim 2023-01-14 11:46:09.704717821 +0000 --- src/testdir/test_statusline.vim 2023-01-28 18:25:54.459536012 +0000 *************** *** 413,419 **** " Test statusline works with 80+ items function! StatusLabel() redrawstatus ! return '[label]' endfunc let statusline = '%{StatusLabel()}' for i in range(150) --- 413,419 ---- " Test statusline works with 80+ items function! StatusLabel() redrawstatus ! return '[label]' endfunc let statusline = '%{StatusLabel()}' for i in range(150) *** ../vim-9.0.1256/src/testdir/test_substitute.vim 2023-01-04 17:17:49.121005598 +0000 --- src/testdir/test_substitute.vim 2023-01-28 18:26:16.943528463 +0000 *************** *** 707,713 **** endfunc func Test_nocatch_sub_failure_handling() ! " normal error results in all replacements func Foo() foobar endfunc --- 707,713 ---- endfunc func Test_nocatch_sub_failure_handling() ! " normal error results in all replacements func Foo() foobar endfunc *** ../vim-9.0.1256/src/testdir/test_tagfunc.vim 2022-10-15 20:52:22.559752564 +0100 --- src/testdir/test_tagfunc.vim 2023-01-28 18:26:40.475520823 +0000 *************** *** 93,99 **** delf NullTagFunc bwipe! ! set tags& tfu& cpt& call delete('Xfile1') endfunc --- 93,99 ---- delf NullTagFunc bwipe! ! set tags& tfu& cpt& call delete('Xfile1') endfunc *** ../vim-9.0.1256/src/testdir/test_tagjump.vim 2022-12-05 13:50:49.718052362 +0000 --- src/testdir/test_tagjump.vim 2023-01-28 18:28:13.575492912 +0000 *************** *** 743,749 **** let code =<< trim [CODE] int FUNC1 (int x) { } ! int func2 (int y) { } int * func3 () { } --- 743,749 ---- let code =<< trim [CODE] int FUNC1 (int x) { } ! int func2 (int y) { } int * func3 () { } *** ../vim-9.0.1256/src/testdir/test_termcodes.vim 2022-12-20 20:01:09.624090908 +0000 --- src/testdir/test_termcodes.vim 2023-01-28 18:31:00.283450557 +0000 *************** *** 894,900 **** let save_term = &term let save_ttymouse = &ttymouse call test_override('no_query_mouse', 1) ! " 'mousetime' must be sufficiently large, or else the test is flaky when " using a ssh connection with X forwarding; i.e. ssh -X (issue #7563). set mouse=a term=xterm mousetime=600 --- 894,900 ---- let save_term = &term let save_ttymouse = &ttymouse call test_override('no_query_mouse', 1) ! " 'mousetime' must be sufficiently large, or else the test is flaky when " using a ssh connection with X forwarding; i.e. ssh -X (issue #7563). set mouse=a term=xterm mousetime=600 *** ../vim-9.0.1256/src/testdir/test_textprop.vim 2023-01-21 15:54:40.426545808 +0000 --- src/testdir/test_textprop.vim 2023-01-28 18:31:41.859441279 +0000 *************** *** 2745,2751 **** let lines =<< trim END vim9script ! setline(1, ['vim9script', '', 'three', '']) # Add text prop below empty line 2 with padding. --- 2745,2751 ---- let lines =<< trim END vim9script ! setline(1, ['vim9script', '', 'three', '']) # Add text prop below empty line 2 with padding. *************** *** 2768,2780 **** END call writefile(lines, 'XscriptPropBelowAfterEmpty', 'D') let buf = RunVimInTerminal('-S XscriptPropBelowAfterEmpty', #{rows: 8, cols: 60}) ! call VerifyScreenDump(buf, 'Test_prop_below_after_empty_1', {}) call term_sendkeys(buf, ":set number\") ! call VerifyScreenDump(buf, 'Test_prop_below_after_empty_2', {}) call term_sendkeys(buf, ":set nowrap\") ! call VerifyScreenDump(buf, 'Test_prop_below_after_empty_3', {}) call StopVimInTerminal(buf) endfunc --- 2768,2780 ---- END call writefile(lines, 'XscriptPropBelowAfterEmpty', 'D') let buf = RunVimInTerminal('-S XscriptPropBelowAfterEmpty', #{rows: 8, cols: 60}) ! call VerifyScreenDump(buf, 'Test_prop_below_after_empty_1', {}) call term_sendkeys(buf, ":set number\") ! call VerifyScreenDump(buf, 'Test_prop_below_after_empty_2', {}) call term_sendkeys(buf, ":set nowrap\") ! call VerifyScreenDump(buf, 'Test_prop_below_after_empty_3', {}) call StopVimInTerminal(buf) endfunc *************** *** 3310,3316 **** prop_type_add('propnotincl', {highlight: 'NonText', start_incl: false}) prop_add(1, 15, {type: 'propnotincl', text: 'before '}) ! set cindent sw=4 prop_type_add('argname', {highlight: 'DiffChange', start_incl: true}) prop_add(3, 10, {type: 'argname', text: 'arg: '}) END --- 3310,3316 ---- prop_type_add('propnotincl', {highlight: 'NonText', start_incl: false}) prop_add(1, 15, {type: 'propnotincl', text: 'before '}) ! set cindent sw=4 prop_type_add('argname', {highlight: 'DiffChange', start_incl: true}) prop_add(3, 10, {type: 'argname', text: 'arg: '}) END *************** *** 3751,3757 **** call StopVimInTerminal(buf) endfunc ! func Test_error_when_using_negative_id() call prop_type_add('test1', #{highlight: 'ErrorMsg'}) call prop_add(1, 1, #{type: 'test1', text: 'virtual'}) --- 3751,3757 ---- call StopVimInTerminal(buf) endfunc ! func Test_error_when_using_negative_id() call prop_type_add('test1', #{highlight: 'ErrorMsg'}) call prop_add(1, 1, #{type: 'test1', text: 'virtual'}) *** ../vim-9.0.1256/src/testdir/test_timers.vim 2022-10-15 20:52:22.563752598 +0100 --- src/testdir/test_timers.vim 2023-01-28 18:32:08.535435556 +0000 *************** *** 393,399 **** " vgetc(). func Test_nocatch_timer_garbage_collect() " FIXME: why does this fail only on MacOS M1? ! try CheckNotMacM1 catch /Skipped/ let g:skipped_reason = v:exception --- 393,399 ---- " vgetc(). func Test_nocatch_timer_garbage_collect() " FIXME: why does this fail only on MacOS M1? ! try CheckNotMacM1 catch /Skipped/ let g:skipped_reason = v:exception *** ../vim-9.0.1256/src/testdir/test_true_false.vim 2022-09-17 21:07:52.107993141 +0100 --- src/testdir/test_true_false.vim 2023-01-28 18:32:36.079429811 +0000 *************** *** 47,57 **** endfunc function Try_arg_true_false(expr, false_val, true_val) ! for v in ['v:false', '0', '"0"', '"foo"', '" "'] let r = eval(substitute(a:expr, '%v%', v, '')) call assert_equal(a:false_val, r, 'result for ' . v . ' is not ' . string(a:false_val) . ' but ' . string(r)) endfor ! for v in ['v:true', '1', '"1"', '"1foo"'] let r = eval(substitute(a:expr, '%v%', v, '')) call assert_equal(a:true_val, r, 'result for ' . v . ' is not ' . string(a:true_val) . ' but ' . string(r)) endfor --- 47,57 ---- endfunc function Try_arg_true_false(expr, false_val, true_val) ! for v in ['v:false', '0', '"0"', '"foo"', '" "'] let r = eval(substitute(a:expr, '%v%', v, '')) call assert_equal(a:false_val, r, 'result for ' . v . ' is not ' . string(a:false_val) . ' but ' . string(r)) endfor ! for v in ['v:true', '1', '"1"', '"1foo"'] let r = eval(substitute(a:expr, '%v%', v, '')) call assert_equal(a:true_val, r, 'result for ' . v . ' is not ' . string(a:true_val) . ' but ' . string(r)) endfor *************** *** 115,125 **** endfunc function Try_arg_non_zero(expr, false_val, true_val) ! for v in ['v:false', '0', '[1]', '{2:3}', '3.4'] let r = eval(substitute(a:expr, '%v%', v, '')) call assert_equal(a:false_val, r, 'result for ' . v . ' is not ' . a:false_val . ' but ' . r) endfor ! for v in ['v:true', '1', '" "', '"0"'] let r = eval(substitute(a:expr, '%v%', v, '')) call assert_equal(a:true_val, r, 'result for ' . v . ' is not ' . a:true_val . ' but ' . r) endfor --- 115,125 ---- endfunc function Try_arg_non_zero(expr, false_val, true_val) ! for v in ['v:false', '0', '[1]', '{2:3}', '3.4'] let r = eval(substitute(a:expr, '%v%', v, '')) call assert_equal(a:false_val, r, 'result for ' . v . ' is not ' . a:false_val . ' but ' . r) endfor ! for v in ['v:true', '1', '" "', '"0"'] let r = eval(substitute(a:expr, '%v%', v, '')) call assert_equal(a:true_val, r, 'result for ' . v . ' is not ' . a:true_val . ' but ' . r) endfor *************** *** 135,148 **** call Try_arg_non_zero("shellescape('foo%', %v%)", "'foo%'", "'foo\\%'") " visualmode() needs to be called twice to check ! for v in [v:false, 0, [1], {2:3}, 3.4] normal vv let r = visualmode(v) call assert_equal('v', r, 'result for ' . string(v) . ' is not "v" but ' . r) let r = visualmode(v) call assert_equal('v', r, 'result for ' . string(v) . ' is not "v" but ' . r) endfor ! for v in [v:true, 1, " ", "0"] normal vv let r = visualmode(v) call assert_equal('v', r, 'result for ' . v . ' is not "v" but ' . r) --- 135,148 ---- call Try_arg_non_zero("shellescape('foo%', %v%)", "'foo%'", "'foo\\%'") " visualmode() needs to be called twice to check ! for v in [v:false, 0, [1], {2:3}, 3.4] normal vv let r = visualmode(v) call assert_equal('v', r, 'result for ' . string(v) . ' is not "v" but ' . r) let r = visualmode(v) call assert_equal('v', r, 'result for ' . string(v) . ' is not "v" but ' . r) endfor ! for v in [v:true, 1, " ", "0"] normal vv let r = visualmode(v) call assert_equal('v', r, 'result for ' . v . ' is not "v" but ' . r) *** ../vim-9.0.1256/src/testdir/test_utf8.vim 2023-01-20 16:00:49.542341277 +0000 --- src/testdir/test_utf8.vim 2023-01-28 18:33:15.071421963 +0000 *************** *** 1,5 **** " Tests for Unicode manipulations ! source check.vim source view_util.vim source screendump.vim --- 1,5 ---- " Tests for Unicode manipulations ! source check.vim source view_util.vim source screendump.vim *************** *** 107,113 **** let save_encoding = &encoding set encoding=latin1 ! let lres = str2list(s, 1) let sres = list2str(l, 1) call assert_equal([65, 66, 67], str2list("ABC")) --- 107,113 ---- let save_encoding = &encoding set encoding=latin1 ! let lres = str2list(s, 1) let sres = list2str(l, 1) call assert_equal([65, 66, 67], str2list("ABC")) *************** *** 123,129 **** func Test_screenchar_utf8() new ! " 1-cell, with composing characters call setline(1, ["ABC\u0308"]) redraw call assert_equal([0x0041], screenchars(1, 1)) --- 123,129 ---- func Test_screenchar_utf8() new ! " 1-cell, with composing characters call setline(1, ["ABC\u0308"]) redraw call assert_equal([0x0041], screenchars(1, 1)) *************** *** 133,139 **** call assert_equal("B", screenstring(1, 2)) call assert_equal("C\u0308", screenstring(1, 3)) ! " 2-cells, with composing characters let text = "\u3042\u3044\u3046\u3099" call setline(1, text) redraw --- 133,139 ---- call assert_equal("B", screenstring(1, 2)) call assert_equal("C\u0308", screenstring(1, 3)) ! " 2-cells, with composing characters let text = "\u3042\u3044\u3046\u3099" call setline(1, text) redraw *** ../vim-9.0.1256/src/testdir/test_vim9_assign.vim 2022-10-15 20:06:30.280328838 +0100 --- src/testdir/test_vim9_assign.vim 2023-01-28 18:33:59.135413457 +0000 *************** *** 1833,1839 **** v9.CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected func(number) but got func(any): bool') lines =<< trim END ! echo filter([1, 2, 3], (_, v: string) => v + 1) END v9.CheckDefAndScriptFailure(lines, 'E1051:') enddef --- 1833,1839 ---- v9.CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected func(number) but got func(any): bool') lines =<< trim END ! echo filter([1, 2, 3], (_, v: string) => v + 1) END v9.CheckDefAndScriptFailure(lines, 'E1051:') enddef *************** *** 1935,1941 **** endif return 'this' endfunc ! var val: string = GetValue() # env var is always a string var env = $TERM END --- 1935,1941 ---- endif return 'this' endfunc ! var val: string = GetValue() # env var is always a string var env = $TERM END *** ../vim-9.0.1256/src/testdir/test_vim9_class.vim 2023-01-28 15:19:36.960757169 +0000 --- src/testdir/test_vim9_class.vim 2023-01-28 18:36:41.315385142 +0000 *************** *** 48,54 **** lines =<< trim END vim9script class Something ! endclass school's out END v9.CheckScriptFailure(lines, 'E488:') --- 48,54 ---- lines =<< trim END vim9script class Something ! endclass school's out END v9.CheckScriptFailure(lines, 'E488:') *************** *** 623,629 **** TextPos.AddToCounter(3) assert_equal(3, TextPos.counter) assert_fails('echo TextPos.noSuchMember', 'E1338:') ! def GetCounter(): number return TextPos.counter enddef --- 623,629 ---- TextPos.AddToCounter(3) assert_equal(3, TextPos.counter) assert_fails('echo TextPos.noSuchMember', 'E1338:') ! def GetCounter(): number return TextPos.counter enddef *** ../vim-9.0.1256/src/testdir/test_vim9_disassemble.vim 2022-10-15 20:06:30.284328833 +0100 --- src/testdir/test_vim9_disassemble.vim 2023-01-28 18:39:29.227359595 +0000 *************** *** 2085,2091 **** '8 COND2BOOL\_s*' .. '9 STORE $3\_s*' .. 'return name\_s*' .. ! '\d\+ LOAD $3\_s*' .. '\d\+ RETURN', instr) assert_equal(true, InvertBool()) --- 2085,2091 ---- '8 COND2BOOL\_s*' .. '9 STORE $3\_s*' .. 'return name\_s*' .. ! '\d\+ LOAD $3\_s*' .. '\d\+ RETURN', instr) assert_equal(true, InvertBool()) *** ../vim-9.0.1256/src/testdir/test_vim9_expr.vim 2023-01-09 15:10:36.245547545 +0000 --- src/testdir/test_vim9_expr.vim 2023-01-28 18:42:18.343198644 +0000 *************** *** 44,50 **** echo ['a'] + (1 ? ['b'] : ['c'] # comment ) ! # with constant condition expression is not evaluated assert_equal('one', 1 ? 'one' : xxx) var Some: func = function('len') --- 44,50 ---- echo ['a'] + (1 ? ['b'] : ['c'] # comment ) ! # with constant condition expression is not evaluated assert_equal('one', 1 ? 'one' : xxx) var Some: func = function('len') *************** *** 74,80 **** # check line continuation var lines =<< trim END var name = 1 ! ? 'yes' : 'no' assert_equal('yes', name) END --- 74,80 ---- # check line continuation var lines =<< trim END var name = 1 ! ? 'yes' : 'no' assert_equal('yes', name) END *************** *** 82,88 **** lines =<< trim END var name = v:false ! ? 'yes' : 'no' assert_equal('no', name) END --- 82,88 ---- lines =<< trim END var name = v:false ! ? 'yes' : 'no' assert_equal('no', name) END *************** *** 90,96 **** lines =<< trim END var name = v:false ? ! 'yes' : 'no' assert_equal('no', name) END --- 90,96 ---- lines =<< trim END var name = v:false ? ! 'yes' : 'no' assert_equal('no', name) END *************** *** 98,104 **** lines =<< trim END var name = v:false ? # comment ! 'yes' : # comment 'no' # comment assert_equal('no', name) --- 98,104 ---- lines =<< trim END var name = v:false ? # comment ! 'yes' : # comment 'no' # comment assert_equal('no', name) *************** *** 317,338 **** # check line continuation var lines =<< trim END var name = 0 ! || 1 assert_equal(true, name) END v9.CheckDefAndScriptSuccess(lines) lines =<< trim END var name = v:false ! || v:true ! || v:false assert_equal(v:true, name) END v9.CheckDefAndScriptSuccess(lines) lines =<< trim END var name = v:false || ! v:true || v:false assert_equal(v:true, name) END --- 317,338 ---- # check line continuation var lines =<< trim END var name = 0 ! || 1 assert_equal(true, name) END v9.CheckDefAndScriptSuccess(lines) lines =<< trim END var name = v:false ! || v:true ! || v:false assert_equal(v:true, name) END v9.CheckDefAndScriptSuccess(lines) lines =<< trim END var name = v:false || ! v:true || v:false assert_equal(v:true, name) END *************** *** 341,347 **** lines =<< trim END var name = v:false || # comment # comment ! v:true || # comment v:false # comment assert_equal(v:true, name) --- 341,347 ---- lines =<< trim END var name = v:false || # comment # comment ! v:true || # comment v:false # comment assert_equal(v:true, name) *************** *** 456,478 **** # check line continuation var lines =<< trim END var name = 0 ! && 1 assert_equal(false, name) END v9.CheckDefAndScriptSuccess(lines) lines =<< trim END var name = v:true ! && v:true ! && v:true assert_equal(v:true, name) END v9.CheckDefAndScriptSuccess(lines) lines =<< trim END var name = v:true && ! v:true && ! v:true assert_equal(v:true, name) END v9.CheckDefAndScriptSuccess(lines) --- 456,478 ---- # check line continuation var lines =<< trim END var name = 0 ! && 1 assert_equal(false, name) END v9.CheckDefAndScriptSuccess(lines) lines =<< trim END var name = v:true ! && v:true ! && v:true assert_equal(v:true, name) END v9.CheckDefAndScriptSuccess(lines) lines =<< trim END var name = v:true && ! v:true && ! v:true assert_equal(v:true, name) END v9.CheckDefAndScriptSuccess(lines) *************** *** 480,488 **** lines =<< trim END var name = v:true && # comment # comment ! v:true && # comment ! v:true assert_equal(v:true, name) END v9.CheckDefAndScriptSuccess(lines) --- 480,488 ---- lines =<< trim END var name = v:true && # comment # comment ! v:true && # comment ! v:true assert_equal(v:true, name) END v9.CheckDefAndScriptSuccess(lines) *************** *** 887,893 **** # variables declared at script level used in a :def function lines =<< trim END vim9script ! var l_decl: list var l_empty = [] var l_null = null_list --- 887,893 ---- # variables declared at script level used in a :def function lines =<< trim END vim9script ! var l_decl: list var l_empty = [] var l_null = null_list *************** *** 914,920 **** assert_true(caught) enddef TestList() ! var b_decl: blob var b_empty = 0z var b_null = null_blob --- 914,920 ---- assert_true(caught) enddef TestList() ! var b_decl: blob var b_empty = 0z var b_null = null_blob *************** *** 941,947 **** assert_true(caught) enddef TestBlob() ! var d_decl: dict var d_empty = {} var d_null = null_dict --- 941,947 ---- assert_true(caught) enddef TestBlob() ! var d_decl: dict var d_empty = {} var d_null = null_dict *************** *** 1274,1280 **** # check line continuation var lines =<< trim END var name = 0 ! < 1 assert_equal(true, name) END v9.CheckDefAndScriptSuccess(lines) --- 1274,1280 ---- # check line continuation var lines =<< trim END var name = 0 ! < 1 assert_equal(true, name) END v9.CheckDefAndScriptSuccess(lines) *************** *** 1282,1295 **** lines =<< trim END var name = 123 # comment ! != 123 assert_equal(false, name) END v9.CheckDefAndScriptSuccess(lines) lines =<< trim END var name = 123 == ! 123 assert_equal(true, name) END v9.CheckDefAndScriptSuccess(lines) --- 1282,1295 ---- lines =<< trim END var name = 123 # comment ! != 123 assert_equal(false, name) END v9.CheckDefAndScriptSuccess(lines) lines =<< trim END var name = 123 == ! 123 assert_equal(true, name) END v9.CheckDefAndScriptSuccess(lines) *************** *** 1297,1303 **** lines =<< trim END var list = [1, 2, 3] var name = list ! is list assert_equal(true, name) END v9.CheckDefAndScriptSuccess(lines) --- 1297,1303 ---- lines =<< trim END var list = [1, 2, 3] var name = list ! is list assert_equal(true, name) END v9.CheckDefAndScriptSuccess(lines) *************** *** 1306,1312 **** var list = [1, 2, 3] var name = list # comment # comment ! is list assert_equal(true, name) END v9.CheckDefAndScriptSuccess(lines) --- 1306,1312 ---- var list = [1, 2, 3] var name = list # comment # comment ! is list assert_equal(true, name) END v9.CheckDefAndScriptSuccess(lines) *************** *** 1314,1320 **** lines =<< trim END var myblob = 0z1234 var name = myblob ! isnot 0z11 assert_equal(true, name) END v9.CheckDefAndScriptSuccess(lines) --- 1314,1320 ---- lines =<< trim END var myblob = 0z1234 var name = myblob ! isnot 0z11 assert_equal(true, name) END v9.CheckDefAndScriptSuccess(lines) *************** *** 1526,1532 **** # check line continuation var lines =<< trim END var name = 11 ! + 77 - 22 assert_equal(66, name) END --- 1526,1532 ---- # check line continuation var lines =<< trim END var name = 11 ! + 77 - 22 assert_equal(66, name) END *************** *** 1551,1557 **** lines =<< trim END var name = 'one' ! .. 'two' assert_equal('onetwo', name) END v9.CheckDefAndScriptSuccess(lines) --- 1551,1557 ---- lines =<< trim END var name = 'one' ! .. 'two' assert_equal('onetwo', name) END v9.CheckDefAndScriptSuccess(lines) *************** *** 1859,1865 **** # check line continuation var lines =<< trim END var name = 11 ! * 22 / 3 assert_equal(80, name) END --- 1859,1865 ---- # check line continuation var lines =<< trim END var name = 11 ! * 22 / 3 assert_equal(80, name) END *************** *** 1867,1873 **** lines =<< trim END var name = 25 ! % 10 assert_equal(5, name) END v9.CheckDefAndScriptSuccess(lines) --- 1867,1873 ---- lines =<< trim END var name = 25 ! % 10 assert_equal(5, name) END v9.CheckDefAndScriptSuccess(lines) *************** *** 1877,1890 **** # comment # comment ! % 10 assert_equal(5, name) END v9.CheckDefAndScriptSuccess(lines) lines =<< trim END var name = 11 * ! 22 / 3 assert_equal(80, name) END --- 1877,1890 ---- # comment # comment ! % 10 assert_equal(5, name) END v9.CheckDefAndScriptSuccess(lines) lines =<< trim END var name = 11 * ! 22 / 3 assert_equal(80, name) END *************** *** 2775,2781 **** var dkeys = {['key']: 'string', [12]: 'numberexpr', 34: 'number', ! [true]: 'bool'} assert_equal('string', dkeys['key']) assert_equal('numberexpr', dkeys[12]) assert_equal('number', dkeys[34]) --- 2775,2781 ---- var dkeys = {['key']: 'string', [12]: 'numberexpr', 34: 'number', ! [true]: 'bool'} assert_equal('string', dkeys['key']) assert_equal('numberexpr', dkeys[12]) assert_equal('number', dkeys[34]) *************** *** 2798,2804 **** assert_equal('dict>', typename(dl)) END v9.CheckDefAndScriptSuccess(lines) ! # legacy syntax doesn't work v9.CheckDefAndScriptFailure(["var x = #{key: 8}"], 'E1170:', 1) v9.CheckDefAndScriptFailure(["var x = 'a' #{a: 1}"], 'E1170:', 1) --- 2798,2804 ---- assert_equal('dict>', typename(dl)) END v9.CheckDefAndScriptSuccess(lines) ! # legacy syntax doesn't work v9.CheckDefAndScriptFailure(["var x = #{key: 8}"], 'E1170:', 1) v9.CheckDefAndScriptFailure(["var x = 'a' #{a: 1}"], 'E1170:', 1) *************** *** 3206,3212 **** def Test_expr_member_vim9script() var lines =<< trim END var d = {one: ! 'one', two: 'two', 1: 1, _: 2} --- 3206,3212 ---- def Test_expr_member_vim9script() var lines =<< trim END var d = {one: ! 'one', two: 'two', 1: 1, _: 2} *************** *** 3494,3512 **** assert_equal('ok', g:LegacyReturn()) lines =<< trim END ! vim9script ! def GetNumber(): number legacy return notexists ! enddef echo GetNumber() END v9.CheckScriptFailure(lines, 'E121: Undefined variable: notexists') lines =<< trim END ! vim9script ! def GetNumber(): number ! legacy return range(3)->map('v:val + 1') ! enddef echo GetNumber() END v9.CheckScriptFailure(lines, 'E1012: Type mismatch; expected number but got list') --- 3494,3512 ---- assert_equal('ok', g:LegacyReturn()) lines =<< trim END ! vim9script ! def GetNumber(): number legacy return notexists ! enddef echo GetNumber() END v9.CheckScriptFailure(lines, 'E121: Undefined variable: notexists') lines =<< trim END ! vim9script ! def GetNumber(): number ! legacy return range(3)->map('v:val + 1') ! enddef echo GetNumber() END v9.CheckScriptFailure(lines, 'E1012: Type mismatch; expected number but got list') *************** *** 3631,3637 **** var Join = (l) => join(l, 'x') assert_equal('axb', ['a', 'b']->(Join)()) ! var sorted = [3, 1, 2] -> sort() assert_equal([1, 2, 3], sorted) --- 3631,3637 ---- var Join = (l) => join(l, 'x') assert_equal('axb', ['a', 'b']->(Join)()) ! var sorted = [3, 1, 2] -> sort() assert_equal([1, 2, 3], sorted) *** ../vim-9.0.1256/src/testdir/test_vim9_func.vim 2023-01-20 18:49:42.763170966 +0000 --- src/testdir/test_vim9_func.vim 2023-01-28 18:42:43.939145443 +0000 *************** *** 607,613 **** defcompile func! g:Global(a, b) ! echo a:a a:b endfunc Tryit() END --- 607,613 ---- defcompile func! g:Global(a, b) ! echo a:a a:b endfunc Tryit() END *************** *** 2150,2156 **** ) # had a double free if the right parenthesis of the nested function is # on the next line ! enddef|BBBB enddef # Compile all functions --- 2150,2156 ---- ) # had a double free if the right parenthesis of the nested function is # on the next line ! enddef|BBBB enddef # Compile all functions *************** *** 2175,2182 **** def SecondFunction(J = # Nois # one ! ! enddef|BBBB enddef # Compile all functions defcompile --- 2175,2182 ---- def SecondFunction(J = # Nois # one ! ! enddef|BBBB enddef # Compile all functions defcompile *** ../vim-9.0.1256/src/testdir/test_vim9_import.vim 2022-11-22 18:12:40.833924528 +0000 --- src/testdir/test_vim9_import.vim 2023-01-28 18:43:06.219100889 +0000 *************** *** 2656,2662 **** import autoload 'toggle.vim' ! nnoremap tt toggle.Toggle() nnoremap xx toggle.Doit() nnoremap yy toggle.Doit() END --- 2656,2662 ---- import autoload 'toggle.vim' ! nnoremap tt toggle.Toggle() nnoremap xx toggle.Doit() nnoremap yy toggle.Doit() END *** ../vim-9.0.1256/src/testdir/test_viminfo.vim 2022-10-15 21:35:51.191403811 +0100 --- src/testdir/test_viminfo.vim 2023-01-28 19:12:06.701701542 +0000 *************** *** 301,307 **** call test_settime(39) call histadd(':', "echo '39'") wviminfo Xviminfo ! call histdel(':') rviminfo Xviminfo call assert_equal("echo '39'", histget(':', -1)) --- 301,307 ---- call test_settime(39) call histadd(':', "echo '39'") wviminfo Xviminfo ! call histdel(':') rviminfo Xviminfo call assert_equal("echo '39'", histget(':', -1)) *************** *** 560,566 **** sp Xviminfo call assert_equal('latin1', &fenc) close ! call histdel(':') rviminfo Xviminfo call assert_equal("echo 'é'", histget(':', -1)) --- 560,566 ---- sp Xviminfo call assert_equal('latin1', &fenc) close ! call histdel(':') rviminfo Xviminfo call assert_equal("echo 'é'", histget(':', -1)) *** ../vim-9.0.1256/src/testdir/test_virtualedit.vim 2023-01-28 16:37:33.898559056 +0000 --- src/testdir/test_virtualedit.vim 2023-01-28 19:12:31.529691648 +0000 *************** *** 585,598 **** set virtualedit& endfunc ! " this was replacing the NUL at the end of the line func Test_virtualedit_replace_after_tab() new s/\v/ 0 set ve=all let @" = '' sil! norm vPvr0 ! call assert_equal("\t0", getline(1)) set ve& bwipe! --- 585,598 ---- set virtualedit& endfunc ! " this was replacing the NUL at the end of the line func Test_virtualedit_replace_after_tab() new s/\v/ 0 set ve=all let @" = '' sil! norm vPvr0 ! call assert_equal("\t0", getline(1)) set ve& bwipe! *** ../vim-9.0.1256/src/testdir/test_visual.vim 2023-01-10 17:29:24.916481478 +0000 --- src/testdir/test_visual.vim 2023-01-28 19:13:17.589673503 +0000 *************** *** 1167,1174 **** func Test_visual_put_in_block_using_zp() new " paste using zP ! call setline(1, ['/path;text', '/path;text', '/path;text', '', ! \ '/subdir', \ '/longsubdir', \ '/longlongsubdir']) exe "normal! 5G\2j$y" --- 1167,1174 ---- func Test_visual_put_in_block_using_zp() new " paste using zP ! call setline(1, ['/path;text', '/path;text', '/path;text', '', ! \ '/subdir', \ '/longsubdir', \ '/longlongsubdir']) exe "normal! 5G\2j$y" *************** *** 1176,1183 **** call assert_equal(['/path/subdir;text', '/path/longsubdir;text', '/path/longlongsubdir;text'], getline(1, 3)) %d " paste using zP ! call setline(1, ['/path;text', '/path;text', '/path;text', '', ! \ '/subdir', \ '/longsubdir', \ '/longlongsubdir']) exe "normal! 5G\2j$y" --- 1176,1183 ---- call assert_equal(['/path/subdir;text', '/path/longsubdir;text', '/path/longlongsubdir;text'], getline(1, 3)) %d " paste using zP ! call setline(1, ['/path;text', '/path;text', '/path;text', '', ! \ '/subdir', \ '/longsubdir', \ '/longlongsubdir']) exe "normal! 5G\2j$y" *************** *** 1190,1196 **** new " Test 1) Paste using zp - after the cursor without trailing spaces ! call setline(1, ['/path;text', '/path;text', '/path;text', '', \ 'texttext /subdir columntext', \ 'texttext /longsubdir columntext', \ 'texttext /longlongsubdir columntext']) --- 1190,1196 ---- new " Test 1) Paste using zp - after the cursor without trailing spaces ! call setline(1, ['/path;text', '/path;text', '/path;text', '', \ 'texttext /subdir columntext', \ 'texttext /longsubdir columntext', \ 'texttext /longlongsubdir columntext']) *************** *** 1200,1206 **** " Test 2) Paste using zP - in front of the cursor without trailing spaces %d ! call setline(1, ['/path;text', '/path;text', '/path;text', '', \ 'texttext /subdir columntext', \ 'texttext /longsubdir columntext', \ 'texttext /longlongsubdir columntext']) --- 1200,1206 ---- " Test 2) Paste using zP - in front of the cursor without trailing spaces %d ! call setline(1, ['/path;text', '/path;text', '/path;text', '', \ 'texttext /subdir columntext', \ 'texttext /longsubdir columntext', \ 'texttext /longlongsubdir columntext']) *************** *** 1210,1216 **** " Test 3) Paste using p - with trailing spaces %d ! call setline(1, ['/path;text', '/path;text', '/path;text', '', \ 'texttext /subdir columntext', \ 'texttext /longsubdir columntext', \ 'texttext /longlongsubdir columntext']) --- 1210,1216 ---- " Test 3) Paste using p - with trailing spaces %d ! call setline(1, ['/path;text', '/path;text', '/path;text', '', \ 'texttext /subdir columntext', \ 'texttext /longsubdir columntext', \ 'texttext /longlongsubdir columntext']) *************** *** 1220,1226 **** " Test 4) Paste using P - with trailing spaces %d ! call setline(1, ['/path;text', '/path;text', '/path;text', '', \ 'texttext /subdir columntext', \ 'texttext /longsubdir columntext', \ 'texttext /longlongsubdir columntext']) --- 1220,1226 ---- " Test 4) Paste using P - with trailing spaces %d ! call setline(1, ['/path;text', '/path;text', '/path;text', '', \ 'texttext /subdir columntext', \ 'texttext /longsubdir columntext', \ 'texttext /longlongsubdir columntext']) *************** *** 1230,1236 **** " Test 5) Yank with spaces inside the block %d ! call setline(1, ['/path;text', '/path;text', '/path;text', '', \ 'texttext /sub dir/ columntext', \ 'texttext /lon gsubdir/ columntext', \ 'texttext /lon glongsubdir/ columntext']) --- 1230,1236 ---- " Test 5) Yank with spaces inside the block %d ! call setline(1, ['/path;text', '/path;text', '/path;text', '', \ 'texttext /sub dir/ columntext', \ 'texttext /lon gsubdir/ columntext', \ 'texttext /lon glongsubdir/ columntext']) *** ../vim-9.0.1256/src/testdir/test_winbuf_close.vim 2022-10-15 22:06:02.730483280 +0100 --- src/testdir/test_winbuf_close.vim 2023-01-28 19:15:50.109642342 +0000 *************** *** 219,225 **** execute "normal \b" let h = winheight(0) let w = win_getid() ! new q call assert_equal(h, winheight(0), "Window height does not match eight before opening and closing another window") call assert_equal(w, win_getid(), "Did not return to original window after opening and closing a window") --- 219,225 ---- execute "normal \b" let h = winheight(0) let w = win_getid() ! new q call assert_equal(h, winheight(0), "Window height does not match eight before opening and closing another window") call assert_equal(w, win_getid(), "Did not return to original window after opening and closing a window") *** ../vim-9.0.1256/src/testdir/test_xxd.vim 2022-10-15 22:06:02.734483275 +0100 --- src/testdir/test_xxd.vim 2023-01-28 19:16:15.529655699 +0000 *************** *** 232,238 **** }; unsigned int varName_len = 11; [CODE] ! call assert_equal(expected, getline(1,'$'), s:Mess(s:test)) endfor --- 232,238 ---- }; unsigned int varName_len = 11; [CODE] ! call assert_equal(expected, getline(1,'$'), s:Mess(s:test)) endfor *************** *** 289,295 **** exe cmd1 exe cmd2 call assert_equal(['00000000: 3a 3a 45 45 3a 3a 3a 3a 46 46 ::EE::::FF'], readfile('Xxxdout')) ! call writefile(["2: 41 41", "08: 42 42"], 'Xxxdin') call writefile(['::::::::'], 'Xxxdfile') exe cmd1 --- 289,295 ---- exe cmd1 exe cmd2 call assert_equal(['00000000: 3a 3a 45 45 3a 3a 3a 3a 46 46 ::EE::::FF'], readfile('Xxxdout')) ! call writefile(["2: 41 41", "08: 42 42"], 'Xxxdin') call writefile(['::::::::'], 'Xxxdfile') exe cmd1 *************** *** 305,311 **** exe cmd1 exe cmd2 call assert_equal(['00000000: 3a 3a 45 45 3a 3a 3a 3a 42 44 46 46 ::EE::::BDFF'], readfile('Xxxdout')) ! call delete('Xxxdout') endfunc --- 305,311 ---- exe cmd1 exe cmd2 call assert_equal(['00000000: 3a 3a 45 45 3a 3a 3a 3a 42 44 46 46 ::EE::::BDFF'], readfile('Xxxdout')) ! call delete('Xxxdout') endfunc *** ../vim-9.0.1256/src/version.c 2023-01-28 18:05:35.484642913 +0000 --- src/version.c 2023-01-28 19:17:27.413688630 +0000 *************** *** 697,698 **** --- 697,700 ---- { /* Add new patch number below this line */ + /**/ + 1257, /**/ -- hundred-and-one symptoms of being an internet addict: 59. Your wife says communication is important in a marriage...so you buy another computer and install a second phone line so the two of you can chat. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///