diff options
author | Sam Bingner <sam@bingner.com> | 2018-12-13 15:11:52 -1000 |
---|---|---|
committer | Sam Bingner <sam@bingner.com> | 2018-12-13 15:11:52 -1000 |
commit | 957aa75d05c00731d7112bed7b68ce4568667d0c (patch) | |
tree | 0445216818495a7864eaa3acde1a1570d34b958d /data/vim/patches/8.1.0514 | |
parent | c54a909c8b5a8519130803cf55f68603c0ad3682 (diff) |
Update vim
Diffstat (limited to 'data/vim/patches/8.1.0514')
-rw-r--r-- | data/vim/patches/8.1.0514 | 1123 |
1 files changed, 1123 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0514 b/data/vim/patches/8.1.0514 new file mode 100644 index 000000000..497516db9 --- /dev/null +++ b/data/vim/patches/8.1.0514 @@ -0,0 +1,1123 @@ +To: vim_dev@googlegroups.com +Subject: Patch 8.1.0514 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 8.1.0514 +Problem: CTRL-W ^ does not work when alternate buffer has no name. +Solution: Use another method to split and edit the alternate buffer. (Jason + Franklin) +Files: src/testdir/test_normal.vim, src/testdir/test_window_cmd.vim, + src/normal.c, src/window.c, runtime/doc/windows.txt + + +*** ../vim-8.1.0513/src/testdir/test_normal.vim 2018-09-03 22:08:05.676736128 +0200 +--- src/testdir/test_normal.vim 2018-11-10 15:55:36.238319451 +0100 +*************** +*** 1,11 **** + " Test for various Normal mode commands + +! func! Setup_NewWindow() + 10new + call setline(1, range(1,100)) + endfunc + +! func! MyFormatExpr() + " Adds '->$' at lines having numbers followed by trailing whitespace + for ln in range(v:lnum, v:lnum+v:count-1) + let line = getline(ln) +--- 1,11 ---- + " Test for various Normal mode commands + +! func Setup_NewWindow() + 10new + call setline(1, range(1,100)) + endfunc + +! func MyFormatExpr() + " Adds '->$' at lines having numbers followed by trailing whitespace + for ln in range(v:lnum, v:lnum+v:count-1) + let line = getline(ln) +*************** +*** 15,21 **** + endfor + endfunc + +! func! CountSpaces(type, ...) + " for testing operatorfunc + " will count the number of spaces + " and return the result in g:a +--- 15,21 ---- + endfor + endfunc + +! func CountSpaces(type, ...) + " for testing operatorfunc + " will count the number of spaces + " and return the result in g:a +*************** +*** 35,41 **** + let @@ = reg_save + endfunc + +! func! OpfuncDummy(type, ...) + " for testing operatorfunc + let g:opt=&linebreak + +--- 35,41 ---- + let @@ = reg_save + endfunc + +! func OpfuncDummy(type, ...) + " for testing operatorfunc + let g:opt=&linebreak + +*************** +*** 78,84 **** + bw! + endfunc + +! func! Test_normal01_keymodel() + call Setup_NewWindow() + " Test 1: depending on 'keymodel' <s-down> does something different + 50 +--- 78,84 ---- + bw! + endfunc + +! func Test_normal01_keymodel() + call Setup_NewWindow() + " Test 1: depending on 'keymodel' <s-down> does something different + 50 +*************** +*** 112,118 **** + bw! + endfunc + +! func! Test_normal02_selectmode() + " some basic select mode tests + call Setup_NewWindow() + 50 +--- 112,118 ---- + bw! + endfunc + +! func Test_normal02_selectmode() + " some basic select mode tests + call Setup_NewWindow() + 50 +*************** +*** 126,132 **** + bw! + endfunc + +! func! Test_normal02_selectmode2() + " some basic select mode tests + call Setup_NewWindow() + 50 +--- 126,132 ---- + bw! + endfunc + +! func Test_normal02_selectmode2() + " some basic select mode tests + call Setup_NewWindow() + 50 +*************** +*** 136,142 **** + bw! + endfunc + +! func! Test_normal03_join() + " basic join test + call Setup_NewWindow() + 50 +--- 136,142 ---- + bw! + endfunc + +! func Test_normal03_join() + " basic join test + call Setup_NewWindow() + 50 +*************** +*** 156,162 **** + bw! + endfunc + +! func! Test_normal04_filter() + " basic filter test + " only test on non windows platform + if has('win32') +--- 156,162 ---- + bw! + endfunc + +! func Test_normal04_filter() + " basic filter test + " only test on non windows platform + if has('win32') +*************** +*** 182,188 **** + bw! + endfunc + +! func! Test_normal05_formatexpr() + " basic formatexpr test + call Setup_NewWindow() + %d_ +--- 182,188 ---- + bw! + endfunc + +! func Test_normal05_formatexpr() + " basic formatexpr test + call Setup_NewWindow() + %d_ +*************** +*** 219,225 **** + set formatexpr= + endfunc + +! func! Test_normal06_formatprg() + " basic test for formatprg + " only test on non windows platform + if has('win32') +--- 219,225 ---- + set formatexpr= + endfunc + +! func Test_normal06_formatprg() + " basic test for formatprg + " only test on non windows platform + if has('win32') +*************** +*** 253,259 **** + call delete('Xsed_format.sh') + endfunc + +! func! Test_normal07_internalfmt() + " basic test for internal formmatter to textwidth of 12 + let list=range(1,11) + call map(list, 'v:val." "') +--- 253,259 ---- + call delete('Xsed_format.sh') + endfunc + +! func Test_normal07_internalfmt() + " basic test for internal formmatter to textwidth of 12 + let list=range(1,11) + call map(list, 'v:val." "') +*************** +*** 267,273 **** + bw! + endfunc + +! func! Test_normal08_fold() + " basic tests for foldopen/folddelete + if !has("folding") + return +--- 267,273 ---- + bw! + endfunc + +! func Test_normal08_fold() + " basic tests for foldopen/folddelete + if !has("folding") + return +*************** +*** 326,332 **** + bw! + endfunc + +! func! Test_normal09_operatorfunc() + " Test operatorfunc + call Setup_NewWindow() + " Add some spaces for counting +--- 326,332 ---- + bw! + endfunc + +! func Test_normal09_operatorfunc() + " Test operatorfunc + call Setup_NewWindow() + " Add some spaces for counting +*************** +*** 356,362 **** + bw! + endfunc + +! func! Test_normal09a_operatorfunc() + " Test operatorfunc + call Setup_NewWindow() + " Add some spaces for counting +--- 356,362 ---- + bw! + endfunc + +! func Test_normal09a_operatorfunc() + " Test operatorfunc + call Setup_NewWindow() + " Add some spaces for counting +*************** +*** 382,388 **** + unlet! g:opt + endfunc + +! func! Test_normal10_expand() + " Test for expand() + 10new + call setline(1, ['1', 'ifooar,,cbar']) +--- 382,388 ---- + unlet! g:opt + endfunc + +! func Test_normal10_expand() + " Test for expand() + 10new + call setline(1, ['1', 'ifooar,,cbar']) +*************** +*** 417,423 **** + bw! + endfunc + +! func! Test_normal11_showcmd() + " test for 'showcmd' + 10new + exe "norm! ofoobar\<esc>" +--- 417,423 ---- + bw! + endfunc + +! func Test_normal11_showcmd() + " test for 'showcmd' + 10new + exe "norm! ofoobar\<esc>" +*************** +*** 432,438 **** + bw! + endfunc + +! func! Test_normal12_nv_error() + " Test for nv_error + 10new + call setline(1, range(1,5)) +--- 432,438 ---- + bw! + endfunc + +! func Test_normal12_nv_error() + " Test for nv_error + 10new + call setline(1, range(1,5)) +*************** +*** 442,448 **** + bw! + endfunc + +! func! Test_normal13_help() + " Test for F1 + call assert_equal(1, winnr()) + call feedkeys("\<f1>", 'txi') +--- 442,448 ---- + bw! + endfunc + +! func Test_normal13_help() + " Test for F1 + call assert_equal(1, winnr()) + call feedkeys("\<f1>", 'txi') +*************** +*** 451,457 **** + bw! + endfunc + +! func! Test_normal14_page() + " basic test for Ctrl-F and Ctrl-B + call Setup_NewWindow() + exe "norm! \<c-f>" +--- 451,457 ---- + bw! + endfunc + +! func Test_normal14_page() + " basic test for Ctrl-F and Ctrl-B + call Setup_NewWindow() + exe "norm! \<c-f>" +*************** +*** 485,491 **** + bw! + endfunc + +! func! Test_normal14_page_eol() + 10new + norm oxxxxxxx + exe "norm 2\<c-f>" +--- 485,491 ---- + bw! + endfunc + +! func Test_normal14_page_eol() + 10new + norm oxxxxxxx + exe "norm 2\<c-f>" +*************** +*** 494,500 **** + bw! + endfunc + +! func! Test_normal15_z_scroll_vert() + " basic test for z commands that scroll the window + call Setup_NewWindow() + 100 +--- 494,500 ---- + bw! + endfunc + +! func Test_normal15_z_scroll_vert() + " basic test for z commands that scroll the window + call Setup_NewWindow() + 100 +*************** +*** 583,589 **** + bw! + endfunc + +! func! Test_normal16_z_scroll_hor() + " basic test for z commands that scroll the window + 10new + 15vsp +--- 583,589 ---- + bw! + endfunc + +! func Test_normal16_z_scroll_hor() + " basic test for z commands that scroll the window + 10new + 15vsp +*************** +*** 649,655 **** + bw! + endfunc + +! func! Test_normal17_z_scroll_hor2() + " basic test for z commands that scroll the window + " using 'sidescrolloff' setting + 10new +--- 649,655 ---- + bw! + endfunc + +! func Test_normal17_z_scroll_hor2() + " basic test for z commands that scroll the window + " using 'sidescrolloff' setting + 10new +*************** +*** 716,722 **** + bw! + endfunc + +! func! Test_normal18_z_fold() + " basic tests for foldopen/folddelete + if !has("folding") + return +--- 716,722 ---- + bw! + endfunc + +! func Test_normal18_z_fold() + " basic tests for foldopen/folddelete + if !has("folding") + return +*************** +*** 1087,1093 **** + bw! + endfunc + +! func! Test_normal19_z_spell() + if !has("spell") || !has('syntax') + return + endif +--- 1087,1093 ---- + bw! + endfunc + +! func Test_normal19_z_spell() + if !has("spell") || !has('syntax') + return + endif +*************** +*** 1241,1247 **** + bw! + endfunc + +! func! Test_normal20_exmode() + if !has("unix") + " Reading from redirected file doesn't work on MS-Windows + return +--- 1241,1247 ---- + bw! + endfunc + +! func Test_normal20_exmode() + if !has("unix") + " Reading from redirected file doesn't work on MS-Windows + return +*************** +*** 1259,1282 **** + bw! + endfunc + +! func! Test_normal21_nv_hat() +! set hidden +! new +! " to many buffers opened already, will not work +! "call assert_fails(":b#", 'E23') +! "call assert_equal('', @#) +! e Xfoobar +! e Xfile2 +! call feedkeys("\<c-^>", 't') +! call assert_equal("Xfile2", fnamemodify(bufname('%'), ':t')) +! call feedkeys("f\<c-^>", 't') +! call assert_equal("Xfile2", fnamemodify(bufname('%'), ':t')) +! " clean up +! set nohidden +! bw! + endfunc + +! func! Test_normal22_zet() + " Test for ZZ + " let shell = &shell + " let &shell = 'sh' +--- 1259,1296 ---- + bw! + endfunc + +! func Test_normal21_nv_hat() +! +! " Edit a fresh file and wipe the buffer list so that there is no alternate +! " file present. Next, check for the expected command failures. +! edit Xfoo | %bw +! call assert_fails(':buffer #', 'E86') +! call assert_fails(':execute "normal! \<C-^>"', 'E23') +! +! " Test for the expected behavior when switching between two named buffers. +! edit Xfoo | edit Xbar +! call feedkeys("\<C-^>", 'tx') +! call assert_equal('Xfoo', fnamemodify(bufname('%'), ':t')) +! call feedkeys("\<C-^>", 'tx') +! call assert_equal('Xbar', fnamemodify(bufname('%'), ':t')) +! +! " Test for the expected behavior when only one buffer is named. +! enew | let l:nr = bufnr('%') +! call feedkeys("\<C-^>", 'tx') +! call assert_equal('Xbar', fnamemodify(bufname('%'), ':t')) +! call feedkeys("\<C-^>", 'tx') +! call assert_equal('', bufname('%')) +! call assert_equal(l:nr, bufnr('%')) +! +! " Test that no action is taken by "<C-^>" when an operator is pending. +! edit Xfoo +! call feedkeys("ci\<C-^>", 'tx') +! call assert_equal('Xfoo', fnamemodify(bufname('%'), ':t')) +! +! %bw! + endfunc + +! func Test_normal22_zet() + " Test for ZZ + " let shell = &shell + " let &shell = 'sh' +*************** +*** 1298,1304 **** + " let &shell = shell + endfunc + +! func! Test_normal23_K() + " Test for K command + new + call append(0, ['version8.txt', 'man', 'aa%bb', 'cc|dd']) +--- 1312,1318 ---- + " let &shell = shell + endfunc + +! func Test_normal23_K() + " Test for K command + new + call append(0, ['version8.txt', 'man', 'aa%bb', 'cc|dd']) +*************** +*** 1353,1359 **** + bw! + endfunc + +! func! Test_normal24_rot13() + " This test uses multi byte characters + if !has("multi_byte") + return +--- 1367,1373 ---- + bw! + endfunc + +! func Test_normal24_rot13() + " This test uses multi byte characters + if !has("multi_byte") + return +*************** +*** 1371,1377 **** + bw! + endfunc + +! func! Test_normal25_tag() + " Testing for CTRL-] g CTRL-] g] + " CTRL-W g] CTRL-W CTRL-] CTRL-W g CTRL-] + h +--- 1385,1391 ---- + bw! + endfunc + +! func Test_normal25_tag() + " Testing for CTRL-] g CTRL-] g] + " CTRL-W g] CTRL-W CTRL-] CTRL-W g CTRL-] + h +*************** +*** 1438,1444 **** + helpclose + endfunc + +! func! Test_normal26_put() + " Test for ]p ]P [p and [P + new + call append(0, ['while read LINE', 'do', ' ((count++))', ' if [ $? -ne 0 ]; then', " echo 'Error writing file'", ' fi', 'done']) +--- 1452,1458 ---- + helpclose + endfunc + +! func Test_normal26_put() + " Test for ]p ]P [p and [P + new + call append(0, ['while read LINE', 'do', ' ((count++))', ' if [ $? -ne 0 ]; then', " echo 'Error writing file'", ' fi', 'done']) +*************** +*** 1457,1463 **** + bw! + endfunc + +! func! Test_normal27_bracket() + " Test for [' [` ]' ]` + call Setup_NewWindow() + 1,21s/.\+/ & b/ +--- 1471,1477 ---- + bw! + endfunc + +! func Test_normal27_bracket() + " Test for [' [` ]' ]` + call Setup_NewWindow() + 1,21s/.\+/ & b/ +*************** +*** 1508,1514 **** + bw! + endfunc + +! func! Test_normal28_parenthesis() + " basic testing for ( and ) + new + call append(0, ['This is a test. With some sentences!', '', 'Even with a question? And one more. And no sentence here']) +--- 1522,1528 ---- + bw! + endfunc + +! func Test_normal28_parenthesis() + " basic testing for ( and ) + new + call append(0, ['This is a test. With some sentences!', '', 'Even with a question? And one more. And no sentence here']) +*************** +*** 1705,1711 **** + bw! + endfunc + +! func! Test_normal32_g_cmd1() + " Test for g*, g# + new + call append(0, ['abc.x_foo', 'x_foobar.abc']) +--- 1719,1725 ---- + bw! + endfunc + +! func Test_normal32_g_cmd1() + " Test for g*, g# + new + call append(0, ['abc.x_foo', 'x_foobar.abc']) +*************** +*** 1836,1842 **** + bw! + endfunc + +! func! Test_g_ctrl_g() + new + + let a = execute(":norm! g\<c-g>") +--- 1850,1856 ---- + bw! + endfunc + +! func Test_g_ctrl_g() + new + + let a = execute(":norm! g\<c-g>") +*************** +*** 2134,2140 **** + bw! + endfunc + +! func! Test_normal42_halfpage() + " basic test for Ctrl-D and Ctrl-U + call Setup_NewWindow() + call assert_equal(5, &scroll) +--- 2148,2154 ---- + bw! + endfunc + +! func Test_normal42_halfpage() + " basic test for Ctrl-D and Ctrl-U + call Setup_NewWindow() + call assert_equal(5, &scroll) +*************** +*** 2202,2208 **** + bw! + endfunc + +! func! Test_normal44_textobjects2() + " basic testing for is and as text objects + new + call append(0, ['This is a test. With some sentences!', '', 'Even with a question? And one more. And no sentence here']) +--- 2216,2222 ---- + bw! + endfunc + +! func Test_normal44_textobjects2() + " basic testing for is and as text objects + new + call append(0, ['This is a test. With some sentences!', '', 'Even with a question? And one more. And no sentence here']) +*************** +*** 2257,2263 **** + bw! + endfunc + +! func! Test_normal45_drop() + if !has('dnd') + " The ~ register does not exist + call assert_beeps('norm! "~') +--- 2271,2277 ---- + bw! + endfunc + +! func Test_normal45_drop() + if !has('dnd') + " The ~ register does not exist + call assert_beeps('norm! "~') +*************** +*** 2275,2281 **** + bw! + endfunc + +! func! Test_normal46_ignore() + " This test uses multi byte characters + if !has("multi_byte") + return +--- 2289,2295 ---- + bw! + endfunc + +! func Test_normal46_ignore() + " This test uses multi byte characters + if !has("multi_byte") + return +*************** +*** 2299,2305 **** + bw! + endfunc + +! func! Test_normal47_visual_buf_wipe() + " This was causing a crash or ml_get error. + enew! + call setline(1,'xxx') +--- 2313,2319 ---- + bw! + endfunc + +! func Test_normal47_visual_buf_wipe() + " This was causing a crash or ml_get error. + enew! + call setline(1,'xxx') +*************** +*** 2313,2319 **** + set nomodified + endfunc + +! func! Test_normal47_autocmd() + " disabled, does not seem to be possible currently + throw "Skipped: not possible to test cursorhold autocmd while waiting for input in normal_cmd" + new +--- 2327,2333 ---- + set nomodified + endfunc + +! func Test_normal47_autocmd() + " disabled, does not seem to be possible currently + throw "Skipped: not possible to test cursorhold autocmd while waiting for input in normal_cmd" + new +*************** +*** 2331,2344 **** + bw! + endfunc + +! func! Test_normal48_wincmd() + new + exe "norm! \<c-w>c" + call assert_equal(1, winnr('$')) + call assert_fails(":norm! \<c-w>c", "E444") + endfunc + +! func! Test_normal49_counts() + new + call setline(1, 'one two three four five six seven eight nine ten') + 1 +--- 2345,2358 ---- + bw! + endfunc + +! func Test_normal48_wincmd() + new + exe "norm! \<c-w>c" + call assert_equal(1, winnr('$')) + call assert_fails(":norm! \<c-w>c", "E444") + endfunc + +! func Test_normal49_counts() + new + call setline(1, 'one two three four five six seven eight nine ten') + 1 +*************** +*** 2347,2353 **** + bw! + endfunc + +! func! Test_normal50_commandline() + if !has("timers") || !has("cmdline_hist") + return + endif +--- 2361,2367 ---- + bw! + endfunc + +! func Test_normal50_commandline() + if !has("timers") || !has("cmdline_hist") + return + endif +*************** +*** 2378,2384 **** + bw! + endfunc + +! func! Test_normal51_FileChangedRO() + if !has("autocmd") + return + endif +--- 2392,2398 ---- + bw! + endfunc + +! func Test_normal51_FileChangedRO() + if !has("autocmd") + return + endif +*************** +*** 2398,2404 **** + call delete("Xreadonly.log") + endfunc + +! func! Test_normal52_rl() + if !has("rightleft") + return + endif +--- 2412,2418 ---- + call delete("Xreadonly.log") + endfunc + +! func Test_normal52_rl() + if !has("rightleft") + return + endif +*************** +*** 2431,2437 **** + bw! + endfunc + +! func! Test_normal53_digraph() + if !has('digraphs') + return + endif +--- 2445,2451 ---- + bw! + endfunc + +! func Test_normal53_digraph() + if !has('digraphs') + return + endif +*************** +*** 2532,2534 **** +--- 2546,2571 ---- + %bwipe! + let &ul = save_ul + endfunc ++ ++ func Test_nv_hat_count() ++ %bwipeout! ++ let l:nr = bufnr('%') + 1 ++ call assert_fails(':execute "normal! ' . l:nr . '\<C-^>"', 'E92') ++ ++ edit Xfoo ++ let l:foo_nr = bufnr('Xfoo') ++ ++ edit Xbar ++ let l:bar_nr = bufnr('Xbar') ++ ++ " Make sure we are not just using the alternate file. ++ edit Xbaz ++ ++ call feedkeys(l:foo_nr . "\<C-^>", 'tx') ++ call assert_equal('Xfoo', fnamemodify(bufname('%'), ':t')) ++ ++ call feedkeys(l:bar_nr . "\<C-^>", 'tx') ++ call assert_equal('Xbar', fnamemodify(bufname('%'), ':t')) ++ ++ %bwipeout! ++ endfunc +*** ../vim-8.1.0513/src/testdir/test_window_cmd.vim 2018-05-10 18:19:36.000000000 +0200 +--- src/testdir/test_window_cmd.vim 2018-11-10 15:47:05.614643165 +0100 +*************** +*** 103,117 **** + bw + endfunc + + func Test_window_split_edit_alternate() +- e Xa +- e Xb + + wincmd ^ +! call assert_equal('Xa', bufname(winbufnr(1))) +! call assert_equal('Xb', bufname(winbufnr(2))) + +! bw Xa Xb + endfunc + + func Test_window_preview() +--- 103,167 ---- + bw + endfunc + ++ " Test the ":wincmd ^" and "<C-W>^" commands. + func Test_window_split_edit_alternate() + ++ " Test for failure when the alternate buffer/file no longer exists. ++ edit Xfoo | %bw ++ call assert_fails(':wincmd ^', 'E23') ++ ++ " Test for the expected behavior when we have two named buffers. ++ edit Xfoo | edit Xbar + wincmd ^ +! call assert_equal('Xfoo', bufname(winbufnr(1))) +! call assert_equal('Xbar', bufname(winbufnr(2))) +! only +! +! " Test for the expected behavior when the alternate buffer is not named. +! enew | let l:nr1 = bufnr('%') +! edit Xfoo | let l:nr2 = bufnr('%') +! wincmd ^ +! call assert_equal(l:nr1, winbufnr(1)) +! call assert_equal(l:nr2, winbufnr(2)) +! only +! +! " Test the Normal mode command. +! call feedkeys("\<C-W>\<C-^>", 'tx') +! call assert_equal(l:nr2, winbufnr(1)) +! call assert_equal(l:nr1, winbufnr(2)) +! +! %bw! +! endfunc +! +! " Test the ":[count]wincmd ^" and "[count]<C-W>^" commands. +! func Test_window_split_edit_bufnr() +! +! %bwipeout +! let l:nr = bufnr('%') + 1 +! call assert_fails(':execute "normal! ' . l:nr . '\<C-W>\<C-^>"', 'E92') +! call assert_fails(':' . l:nr . 'wincmd ^', 'E16') +! call assert_fails(':0wincmd ^', 'E16') +! +! edit Xfoo | edit Xbar | edit Xbaz +! let l:foo_nr = bufnr('Xfoo') +! let l:bar_nr = bufnr('Xbar') +! let l:baz_nr = bufnr('Xbaz') +! +! call feedkeys(l:foo_nr . "\<C-W>\<C-^>", 'tx') +! call assert_equal('Xfoo', bufname(winbufnr(1))) +! call assert_equal('Xbaz', bufname(winbufnr(2))) +! only +! +! call feedkeys(l:bar_nr . "\<C-W>\<C-^>", 'tx') +! call assert_equal('Xbar', bufname(winbufnr(1))) +! call assert_equal('Xfoo', bufname(winbufnr(2))) +! only +! +! execute l:baz_nr . 'wincmd ^' +! call assert_equal('Xbaz', bufname(winbufnr(1))) +! call assert_equal('Xbar', bufname(winbufnr(2))) + +! %bw! + endfunc + + func Test_window_preview() +*************** +*** 322,328 **** + set equalalways + vsplit + windo split +! split + wincmd J + " now we have a frame top-left with two windows, a frame top-right with two + " windows and a frame at the bottom, full-width. +--- 372,378 ---- + set equalalways + vsplit + windo split +! split + wincmd J + " now we have a frame top-left with two windows, a frame top-right with two + " windows and a frame at the bottom, full-width. +*** ../vim-8.1.0513/src/normal.c 2018-09-30 21:43:17.199693265 +0200 +--- src/normal.c 2018-11-10 15:47:05.610643198 +0100 +*************** +*** 5496,5502 **** + } + + /* +! * CTRL-^ command, short for ":e #" + */ + static void + nv_hat(cmdarg_T *cap) +--- 5496,5503 ---- + } + + /* +! * CTRL-^ command, short for ":e #". Works even when the alternate buffer is +! * not named. + */ + static void + nv_hat(cmdarg_T *cap) +*** ../vim-8.1.0513/src/window.c 2018-09-30 21:43:17.207693209 +0200 +--- src/window.c 2018-11-10 15:53:58.843143892 +0100 +*************** +*** 151,158 **** + case '^': + CHECK_CMDWIN; + reset_VIsual_and_resel(); /* stop Visual mode */ +! cmd_with_count("split #", cbuf, sizeof(cbuf), Prenum); +! do_cmdline_cmd(cbuf); + break; + + /* open new window */ +--- 151,171 ---- + case '^': + CHECK_CMDWIN; + reset_VIsual_and_resel(); /* stop Visual mode */ +! +! if (buflist_findnr(Prenum == 0 +! ? curwin->w_alt_fnum : Prenum) == NULL) +! { +! if (Prenum == 0) +! EMSG(_(e_noalt)); +! else +! EMSGN(_("E92: Buffer %ld not found"), Prenum); +! break; +! } +! +! if (!curbuf_locked() && win_split(0, 0) == OK) +! (void)buflist_getfile( +! Prenum == 0 ? curwin->w_alt_fnum : Prenum, +! (linenr_T)0, GETF_ALT, FALSE); + break; + + /* open new window */ +*** ../vim-8.1.0513/runtime/doc/windows.txt 2018-05-17 13:42:04.000000000 +0200 +--- runtime/doc/windows.txt 2018-11-10 15:47:05.614643165 +0100 +*************** +*** 81,86 **** +--- 81,90 ---- + functions can be used to convert between the window/tab number and the + identifier. There is also the window number, which may change whenever + windows are opened or closed, see |winnr()|. ++ The window number is only valid in one specific tab. The window ID is valid ++ across tabs. For most functions that take a window ID or a window number, the ++ window number only applies to the current tab, while the window ID can refer ++ to a window in any tab. + + Each buffer has a unique number and the number will not change within a Vim + session. The |bufnr()| and |bufname()| functions can be used to convert +*************** +*** 218,231 **** + |:find|. Doesn't split if {file} is not found. + + CTRL-W CTRL-^ *CTRL-W_CTRL-^* *CTRL-W_^* +! CTRL-W ^ Does ":split #", split window in two and edit alternate file. +! When a count is given, it becomes ":split #N", split window +! and edit buffer N. + + *CTRL-W_:* +! CTRL-W : Does the same as typing |:| : edit a command line. Useful in a + terminal window, where all Vim commands must be preceded with +! CTRL-W or 'termkey'. + + Note that the 'splitbelow' and 'splitright' options influence where a new + window will appear. +--- 222,237 ---- + |:find|. Doesn't split if {file} is not found. + + CTRL-W CTRL-^ *CTRL-W_CTRL-^* *CTRL-W_^* +! CTRL-W ^ Split the current window in two and edit the alternate file. +! When a count N is given, split the current window and edit +! buffer N. Similar to ":sp #" and ":sp #N", but it allows the +! other buffer to be unnamed. This command matches the behavior +! of |CTRL-^|, except that it splits a window first. + + *CTRL-W_:* +! CTRL-W : Does the same as typing |:| - enter a command line. Useful in a + terminal window, where all Vim commands must be preceded with +! CTRL-W or 'termwinkey'. + + Note that the 'splitbelow' and 'splitright' options influence where a new + window will appear. +*** ../vim-8.1.0513/src/version.c 2018-11-05 21:21:29.800286334 +0100 +--- src/version.c 2018-11-10 15:49:12.537568074 +0100 +*************** +*** 794,795 **** +--- 794,797 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 514, + /**/ + +-- +The question is: What do you do with your life? +The wrong answer is: Become the richest guy in the graveyard. + (billionaire and Oracle founder Larry Ellison) + + /// 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 /// |