To: vim_dev@googlegroups.com Subject: Patch 8.2.2329 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.2329 Problem: Not all ways Vim can be started are tested. Solution: Add a test for different program names. (Dominique Pellé, closes #7651) Files: src/testdir/test_startup.vim *** ../vim-8.2.2328/src/testdir/test_startup.vim 2020-12-19 13:32:01.956764093 +0100 --- src/testdir/test_startup.vim 2021-01-11 19:52:59.356351966 +0100 *************** *** 1002,1005 **** --- 1002,1081 ---- call assert_match('^Too many edit arguments: "-"', l[1]) endfunc + " Test starting vim with various names: vim, ex, view, evim, etc. + func Test_progname() + CheckUnix + + call mkdir('Xprogname', 'p') + call writefile(['silent !date', + \ 'call writefile([mode(1), ' + \ .. '&insertmode, &diff, &readonly, &updatecount, ' + \ .. 'join(split(execute("message"), "\n")[1:])], "Xprogname_out")', + \ 'qall'], 'Xprogname_after') + + " +---------------------------------------------- progname + " | +--------------------------------- mode(1) + " | | +--------------------------- &insertmode + " | | | +---------------------- &diff + " | | | | +----------------- &readonly + " | | | | | +-------- &updatecount + " | | | | | | +--- :messages + " | | | | | | | + let expectations = { + \ 'vim': ['n', '0', '0', '0', '200', ''], + \ 'gvim': ['n', '0', '0', '0', '200', ''], + \ 'ex': ['ce', '0', '0', '0', '200', ''], + \ 'exim': ['cv', '0', '0', '0', '200', ''], + \ 'view': ['n', '0', '0', '1', '10000', ''], + \ 'gview': ['n', '0', '0', '1', '10000', ''], + \ 'evim': ['n', '1', '0', '0', '200', ''], + \ 'eview': ['n', '1', '0', '1', '10000', ''], + \ 'rvim': ['n', '0', '0', '0', '200', 'line 1: E145: Shell commands and some functionality not allowed in rvim'], + \ 'rgvim': ['n', '0', '0', '0', '200', 'line 1: E145: Shell commands and some functionality not allowed in rvim'], + \ 'rview': ['n', '0', '0', '1', '10000', 'line 1: E145: Shell commands and some functionality not allowed in rvim'], + \ 'rgview': ['n', '0', '0', '1', '10000', 'line 1: E145: Shell commands and some functionality not allowed in rvim'], + \ 'vimdiff': ['n', '0', '1', '0', '200', ''], + \ 'gvimdiff': ['n', '0', '1', '0', '200', '']} + + let prognames = ['vim', 'gvim', 'ex', 'exim', 'view', 'gview', + \ 'evim', 'eview', 'rvim', 'rgvim', 'rview', 'rgview', + \ 'vimdiff', 'gvimdiff'] + + for progname in prognames + if empty($DISPLAY) + if progname =~# 'g' + " Can't run gvim, gview (etc.) if $DISPLAY is not setup. + continue + endif + if has('gui') && (progname ==# 'evim' || progname ==# 'eview') + " evim or eview will start the GUI if there is gui support. + " So don't try to start them either if $DISPLAY is not setup. + continue + endif + endif + + exe 'silent !ln -s -f ' ..exepath(GetVimProg()) .. ' Xprogname/' .. progname + + let stdout_stderr = '' + if progname =~# 'g' + let stdout_stderr = system('Xprogname/'..progname..' -f --clean --not-a-term -S Xprogname_after') + else + exe 'sil !Xprogname/'..progname..' -f --clean --not-a-term -S Xprogname_after' + endif + + if progname =~# 'g' && !has('gui') + call assert_equal("E25: GUI cannot be used: Not enabled at compile time\n", stdout_stderr, progname) + else + call assert_equal('', stdout_stderr, progname) + call assert_equal(expectations[progname], readfile('Xprogname_out'), progname) + endif + + call delete('Xprogname/' .. progname) + call delete('Xprogname_out') + endfor + + call delete('Xprogname_after') + call delete('Xprogname', 'd') + endfunc + " vim: shiftwidth=2 sts=2 expandtab *** ../vim-8.2.2328/src/version.c 2021-01-11 18:46:55.947382209 +0100 --- src/version.c 2021-01-11 19:54:10.736151966 +0100 *************** *** 752,753 **** --- 752,755 ---- { /* Add new patch number below this line */ + /**/ + 2329, /**/ -- hundred-and-one symptoms of being an internet addict: 126. You brag to all of your friends about your date Saturday night...but you don't tell them it was only in a chat room. /// 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 ///