Patch 8.2.1040
Problem: Not enough testing for movement commands.
Solution: Add more tests. (Yegappan Lakshmanan, closes #6313)
Files: src/testdir/test_cursor_func.vim, src/testdir/test_functions.vim,
src/testdir/test_gf.vim, src/testdir/test_normal.vim,
src/testdir/test_options.vim, src/testdir/test_quickfix.vim
*** ../vim-8.2.1039/src/testdir/test_cursor_func.vim 2020-04-25
15:24:40.551354115 +0200
--- src/testdir/test_cursor_func.vim 2020-06-22 21:31:44.936162704 +0200
***************
*** 99,104 ****
--- 99,105 ----
\ 'curscol': wincol + 9,
\ 'endcol': wincol + 9}, screenpos(winid, 2, 22))
close
+ call assert_equal({}, screenpos(999, 1, 1))
bwipe!
endfunc
*** ../vim-8.2.1039/src/testdir/test_functions.vim 2020-06-17
20:30:41.118168604 +0200
--- src/testdir/test_functions.vim 2020-06-22 21:31:44.936162704 +0200
***************
*** 475,480 ****
--- 475,485 ----
call assert_equal('./file', simplify('./dir/../file'))
call assert_equal('../dir/file', simplify('dir/../../dir/file'))
call assert_equal('./file', simplify('dir/.././file'))
+ call assert_equal('../dir', simplify('./../dir'))
+ call assert_equal('..', simplify('../testdir/..'))
+ call mkdir('Xdir')
+ call assert_equal('.', simplify('Xdir/../.'))
+ call delete('Xdir', 'd')
call assert_fails('call simplify({->0})', 'E729:')
call assert_fails('call simplify([])', 'E730:')
*** ../vim-8.2.1039/src/testdir/test_gf.vim 2020-04-21 22:01:11.089499502
+0200
--- src/testdir/test_gf.vim 2020-06-22 21:31:44.936162704 +0200
***************
*** 1,3 ****
--- 1,4 ----
+ " Test for the gf and gF (goto file) commands
" This is a test if a URL is recognized by "gf", with the cursor before and
" after the "://". Also test ":\\".
***************
*** 38,43 ****
--- 39,51 ----
call search("URL")
call assert_equal("URL://machine.name:1234?q=vim", expand("<cfile>"))
+ %d
+ call setline(1, "demo://remote_file")
+ wincmd f
+ call assert_equal('demo://remote_file', @%)
+ call assert_equal(2, winnr('$'))
+ close!
+
set isf&vim
enew!
endfunc
***************
*** 118,123 ****
--- 126,136 ----
norm! ttvtXgf
call assert_equal('Xtest_gf_visual', bufname('%'))
+ " if multiple lines are selected, then gf should fail
+ call setline(1, ["one", "two"])
+ normal VGgf
+ call assert_equal('Xtest_gf_visual', @%)
+
bwipe!
call delete('Xtest_gf_visual')
set hidden&
***************
*** 146,149 ****
--- 159,179 ----
bwipe!
endfunc
+ " If a file is not found by 'gf', then 'includeexpr' should be used to locate
+ " the file.
+ func Test_gf_includeexpr()
+ new
+ let g:Inc_fname = ''
+ func IncFunc()
+ let g:Inc_fname = v:fname
+ return v:fname
+ endfunc
+ setlocal includeexpr=IncFunc()
+ call setline(1, 'somefile.java')
+ call assert_fails('normal gf', 'E447:')
+ call assert_equal('somefile.java', g:Inc_fname)
+ close!
+ delfunc IncFunc
+ endfunc
+
" vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.1039/src/testdir/test_normal.vim 2020-06-14 13:50:51.747717715
+0200
--- src/testdir/test_normal.vim 2020-06-22 21:31:44.936162704 +0200
***************
*** 754,761 ****
bw!
endfunc
! " Test for H, M and L commands with folds
! func Test_scroll_cmds()
15new
call setline(1, range(1, 100))
exe "normal! 30ggz\<CR>"
--- 754,762 ----
bw!
endfunc
! " Test for commands that scroll the window horizontally. Test with folds.
! " H, M, L, CTRL-E, CTRL-Y, CTRL-U, CTRL-D, PageUp, PageDown commands
! func Test_vert_scroll_cmds()
15new
call setline(1, range(1, 100))
exe "normal! 30ggz\<CR>"
***************
*** 764,769 ****
--- 765,772 ----
40,43fold
46,49fold
let h = winheight(0)
+
+ " Test for H, M and L commands
" Top of the screen = 30
" Folded lines = 9
" Bottom of the screen = 30 + h + 9 - 1
***************
*** 771,780 ****
--- 774,877 ----
call assert_equal(35 + h, line('.'))
normal! 4H
call assert_equal(33, line('.'))
+
+ " Test for the CTRL-E and CTRL-Y commands with folds
+ %d
+ call setline(1, range(1, 10))
+ 3,5fold
+ exe "normal 6G3\<C-E>"
+ call assert_equal(6, line('w0'))
+ exe "normal 2\<C-Y>"
+ call assert_equal(2, line('w0'))
+
+ " Test for CTRL-Y on a folded line
+ %d
+ call setline(1, range(1, 100))
+ exe (h + 2) .. "," .. (h + 4) .. "fold"
+ exe h + 5
+ normal z-
+ exe "normal \<C-Y>\<C-Y>"
+ call assert_equal(h + 1, line('w$'))
+
+ " Using <PageUp> and <PageDown> in an empty buffer should beep
+ %d
+ call assert_beeps('exe "normal \<PageUp>"')
+ call assert_beeps('exe "normal \<C-B>"')
+ call assert_beeps('exe "normal \<PageDown>"')
+ call assert_beeps('exe "normal \<C-F>"')
+
+ " Test for <C-U> and <C-D> with fold
+ %d
+ call setline(1, range(1, 100))
+ 10,35fold
+ set scroll=10
+ exe "normal \<C-D>"
+ call assert_equal(36, line('.'))
+ exe "normal \<C-D>"
+ call assert_equal(46, line('.'))
+ exe "normal \<C-U>"
+ call assert_equal(36, line('.'))
+ exe "normal \<C-U>"
+ call assert_equal(10, line('.'))
+ exe "normal \<C-U>"
+ call assert_equal(1, line('.'))
+ set scroll&
+
+ " Test for scrolling to the top of the file with <C-U> and a fold
+ 10
+ normal ztL
+ exe "normal \<C-U>\<C-U>"
+ call assert_equal(1, line('w0'))
+
+ " Test for CTRL-D on a folded line
+ %d
+ call setline(1, range(1, 100))
+ 50,100fold
+ 75
+ normal z-
+ exe "normal \<C-D>"
+ call assert_equal(50, line('.'))
+ call assert_equal(100, line('w$'))
+ normal z.
+ let lnum = winline()
+ exe "normal \<C-D>"
+ call assert_equal(lnum, winline())
+ call assert_equal(50, line('.'))
+ normal zt
+ exe "normal \<C-D>"
+ call assert_equal(50, line('w0'))
+
set foldenable&
close!
endfunc
+ " Test for the 'sidescroll' option
+ func Test_sidescroll_opt()
+ new
+ 20vnew
+
+ " scroll by 2 characters horizontally
+ set sidescroll=2 nowrap
+ call setline(1, repeat('a', 40))
+ normal g$l
+ call assert_equal(19, screenpos(0, 1, 21).col)
+ normal l
+ call assert_equal(20, screenpos(0, 1, 22).col)
+ normal g0h
+ call assert_equal(2, screenpos(0, 1, 2).col)
+ call assert_equal(20, screenpos(0, 1, 20).col)
+
+ " when 'sidescroll' is 0, cursor positioned at the center
+ set sidescroll=0
+ normal g$l
+ call assert_equal(11, screenpos(0, 1, 21).col)
+ normal g0h
+ call assert_equal(10, screenpos(0, 1, 10).col)
+
+ %bw!
+ set wrap& sidescroll&
+ endfunc
+
" basic tests for foldopen/folddelete
func Test_normal18_z_fold()
CheckFeature folding
***************
*** 2962,2965 ****
--- 3059,3098 ----
close!
endfunc
+ " Test for 'scrolloff' with a long line that doesn't fit in the screen
+ func Test_normal_scroloff()
+ 10new
+ 80vnew
+ call setline(1, repeat('a', 1000))
+ set scrolloff=10
+ normal gg10gj
+ call assert_equal(8, winline())
+ normal 10gj
+ call assert_equal(10, winline())
+ normal 10gk
+ call assert_equal(3, winline())
+ set scrolloff&
+ close!
+ endfunc
+
+ " Test for vertical scrolling with CTRL-F and CTRL-B with a long line
+ func Test_normal_vert_scroll_longline()
+ 10new
+ 80vnew
+ call setline(1, range(1, 10))
+ call append(5, repeat('a', 1000))
+ exe "normal gg\<C-F>"
+ call assert_equal(6, line('.'))
+ exe "normal \<C-F>\<C-F>"
+ call assert_equal(11, line('.'))
+ call assert_equal(1, winline())
+ exe "normal \<C-B>"
+ call assert_equal(10, line('.'))
+ call assert_equal(3, winline())
+ exe "normal \<C-B>\<C-B>"
+ call assert_equal(5, line('.'))
+ call assert_equal(5, winline())
+ close!
+ endfunc
+
" vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.1039/src/testdir/test_options.vim 2020-05-31
16:41:04.646603340 +0200
--- src/testdir/test_options.vim 2020-06-22 21:31:44.936162704 +0200
***************
*** 513,518 ****
--- 513,519 ----
endfunc
func Test_set_values()
+ " opt_test.vim is generated from ../optiondefs.h using gen_opt_test.vim
if filereadable('opt_test.vim')
source opt_test.vim
else
***************
*** 921,924 ****
--- 922,956 ----
set number&
endfunc
+ " Test for the 'window' option
+ func Test_window_opt()
+ " Needs only one open widow
+ %bw!
+ call setline(1, range(1, 8))
+ set window=5
+ exe "normal \<C-F>"
+ call assert_equal(4, line('w0'))
+ exe "normal \<C-F>"
+ call assert_equal(7, line('w0'))
+ exe "normal \<C-F>"
+ call assert_equal(8, line('w0'))
+ exe "normal \<C-B>"
+ call assert_equal(5, line('w0'))
+ exe "normal \<C-B>"
+ call assert_equal(2, line('w0'))
+ exe "normal \<C-B>"
+ call assert_equal(1, line('w0'))
+ set window=1
+ exe "normal gg\<C-F>"
+ call assert_equal(2, line('w0'))
+ exe "normal \<C-F>"
+ call assert_equal(3, line('w0'))
+ exe "normal \<C-B>"
+ call assert_equal(2, line('w0'))
+ exe "normal \<C-B>"
+ call assert_equal(1, line('w0'))
+ enew!
+ set window&
+ endfunc
+
" vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.1039/src/testdir/test_quickfix.vim 2020-06-11
19:35:48.745325203 +0200
--- src/testdir/test_quickfix.vim 2020-06-22 21:31:44.936162704 +0200
***************
*** 488,497 ****
call assert_fails('Xprev', 'E553')
call assert_fails('Xpfile', 'E553')
Xnfile
! call assert_equal('Xqftestfile2', bufname('%'))
call assert_equal(10, line('.'))
Xpfile
! call assert_equal('Xqftestfile1', bufname('%'))
call assert_equal(6, line('.'))
5Xcc
call assert_equal(5, g:Xgetlist({'idx':0}).idx)
--- 488,497 ----
call assert_fails('Xprev', 'E553')
call assert_fails('Xpfile', 'E553')
Xnfile
! call assert_equal('Xqftestfile2', @%)
call assert_equal(10, line('.'))
Xpfile
! call assert_equal('Xqftestfile1', @%)
call assert_equal(6, line('.'))
5Xcc
call assert_equal(5, g:Xgetlist({'idx':0}).idx)
***************
*** 507,513 ****
call assert_equal(6, g:Xgetlist({'idx':0}).idx)
Xlast
Xprev
! call assert_equal('Xqftestfile2', bufname('%'))
call assert_equal(11, line('.'))
call assert_fails('Xnext', 'E553')
call assert_fails('Xnfile', 'E553')
--- 507,513 ----
call assert_equal(6, g:Xgetlist({'idx':0}).idx)
Xlast
Xprev
! call assert_equal('Xqftestfile2', @%)
call assert_equal(11, line('.'))
call assert_fails('Xnext', 'E553')
call assert_fails('Xnfile', 'E553')
***************
*** 520,533 ****
endif
call assert_equal(6, g:Xgetlist({'idx':0}).idx)
Xrewind
! call assert_equal('Xqftestfile1', bufname('%'))
call assert_equal(5, line('.'))
10Xnext
! call assert_equal('Xqftestfile2', bufname('%'))
call assert_equal(11, line('.'))
10Xprev
! call assert_equal('Xqftestfile1', bufname('%'))
call assert_equal(5, line('.'))
" Jumping to an error from the error window using cc command
--- 520,533 ----
endif
call assert_equal(6, g:Xgetlist({'idx':0}).idx)
Xrewind
! call assert_equal('Xqftestfile1', @%)
call assert_equal(5, line('.'))
10Xnext
! call assert_equal('Xqftestfile2', @%)
call assert_equal(11, line('.'))
10Xprev
! call assert_equal('Xqftestfile1', @%)
call assert_equal(5, line('.'))
" Jumping to an error from the error window using cc command
***************
*** 538,544 ****
Xopen
10Xcc
call assert_equal(11, line('.'))
! call assert_equal('Xqftestfile2', bufname('%'))
Xopen
call cursor(2, 1)
if a:cchar == 'c'
--- 538,544 ----
Xopen
10Xcc
call assert_equal(11, line('.'))
! call assert_equal('Xqftestfile2', @%)
Xopen
call cursor(2, 1)
if a:cchar == 'c'
***************
*** 547,560 ****
.ll
endif
call assert_equal(6, line('.'))
! call assert_equal('Xqftestfile1', bufname('%'))
" Jumping to an error from the error window (when only the error window is
" present)
Xopen | only
Xlast 1
call assert_equal(5, line('.'))
! call assert_equal('Xqftestfile1', bufname('%'))
Xexpr ""
call assert_fails('Xnext', 'E42:')
--- 547,560 ----
.ll
endif
call assert_equal(6, line('.'))
! call assert_equal('Xqftestfile1', @%)
" Jumping to an error from the error window (when only the error window is
" present)
Xopen | only
Xlast 1
call assert_equal(5, line('.'))
! call assert_equal('Xqftestfile1', @%)
Xexpr ""
call assert_fails('Xnext', 'E42:')
***************
*** 1859,1865 ****
copen | only
cfirst
call assert_equal(1, tabpagenr())
! call assert_equal('Xqftestfile1', bufname(''))
" If opening a file changes 'switchbuf', then the new value should be
" retained.
--- 1859,1865 ----
copen | only
cfirst
call assert_equal(1, tabpagenr())
! call assert_equal('Xqftestfile1', @%)
" If opening a file changes 'switchbuf', then the new value should be
" retained.
***************
*** 2679,2685 ****
wincmd b
cfirst
call assert_equal(2, winnr())
! call assert_equal('F1', bufname(''))
enew | only
exe 'sb' bnum
exe 'botright sb' bnum
--- 2679,2685 ----
wincmd b
cfirst
call assert_equal(2, winnr())
! call assert_equal('F1', @%)
enew | only
exe 'sb' bnum
exe 'botright sb' bnum
***************
*** 2768,2774 ****
edit +3 Xtestfile2
Xvimgrep +\cemacs+j Xtestfile1
let l = g:Xgetlist()
! call assert_equal('Xtestfile2', bufname(''))
call assert_equal('Editor:Emacs EmAcS', l[0].text)
" Test for unloading a buffer after vimgrep searched the buffer
--- 2768,2774 ----
edit +3 Xtestfile2
Xvimgrep +\cemacs+j Xtestfile1
let l = g:Xgetlist()
! call assert_equal('Xtestfile2', @%)
call assert_equal('Editor:Emacs EmAcS', l[0].text)
" Test for unloading a buffer after vimgrep searched the buffer
***************
*** 3394,3400 ****
Xopen | only
2Xnext
call assert_equal(3, g:Xgetlist({'idx' : 0}).idx)
! call assert_equal('F3', bufname('%'))
Xnext
call assert_equal(7, col('.'))
Xnext
--- 3394,3400 ----
Xopen | only
2Xnext
call assert_equal(3, g:Xgetlist({'idx' : 0}).idx)
! call assert_equal('F3', @%)
Xnext
call assert_equal(7, col('.'))
Xnext
***************
*** 4043,4062 ****
" Test for cexpr/lexpr
enew
Xexpr l
! call assert_equal('Xtestfile1', bufname(''))
call assert_equal(2, line('.'))
" Test for cfile/lfile
enew
call writefile(l, 'Xerr')
Xfile Xerr
! call assert_equal('Xtestfile1', bufname(''))
call assert_equal(2, line('.'))
" Test for cbuffer/lbuffer
edit Xerr
Xbuffer
! call assert_equal('Xtestfile1', bufname(''))
call assert_equal(2, line('.'))
call delete('Xerr')
--- 4043,4062 ----
" Test for cexpr/lexpr
enew
Xexpr l
! call assert_equal('Xtestfile1', @%)
call assert_equal(2, line('.'))
" Test for cfile/lfile
enew
call writefile(l, 'Xerr')
Xfile Xerr
! call assert_equal('Xtestfile1', @%)
call assert_equal(2, line('.'))
" Test for cbuffer/lbuffer
edit Xerr
Xbuffer
! call assert_equal('Xtestfile1', @%)
call assert_equal(2, line('.'))
call delete('Xerr')
***************
*** 4081,4087 ****
autocmd QuickFixCmdPost * Xolder
call writefile(['Xtestfile2:4:Line4'], 'Xerr')
Xfile Xerr
! call assert_equal('Xtestfile2', bufname(''))
call assert_equal(4, line('.'))
autocmd! QuickFixCmdPost
--- 4081,4087 ----
autocmd QuickFixCmdPost * Xolder
call writefile(['Xtestfile2:4:Line4'], 'Xerr')
Xfile Xerr
! call assert_equal('Xtestfile2', @%)
call assert_equal(4, line('.'))
autocmd! QuickFixCmdPost
***************
*** 4092,4098 ****
call writefile(['Xtestfile2:4:Line4'], 'Xerr')
edit Xerr
Xbuffer
! call assert_equal('Xtestfile2', bufname(''))
call assert_equal(4, line('.'))
autocmd! QuickFixCmdPost
--- 4092,4098 ----
call writefile(['Xtestfile2:4:Line4'], 'Xerr')
edit Xerr
Xbuffer
! call assert_equal('Xtestfile2', @%)
call assert_equal(4, line('.'))
autocmd! QuickFixCmdPost
***************
*** 4101,4107 ****
Xexpr 'Xtestfile1:2:Line2'
autocmd QuickFixCmdPost * Xolder
Xexpr 'Xtestfile2:4:Line4'
! call assert_equal('Xtestfile2', bufname(''))
call assert_equal(4, line('.'))
autocmd! QuickFixCmdPost
--- 4101,4107 ----
Xexpr 'Xtestfile1:2:Line2'
autocmd QuickFixCmdPost * Xolder
Xexpr 'Xtestfile2:4:Line4'
! call assert_equal('Xtestfile2', @%)
call assert_equal(4, line('.'))
autocmd! QuickFixCmdPost
***************
*** 4112,4118 ****
Xexpr 'Xtestfile1:2:Line2'
autocmd QuickFixCmdPost * Xolder
silent Xgrep Line5 Xtestfile2
! call assert_equal('Xtestfile2', bufname(''))
call assert_equal(5, line('.'))
autocmd! QuickFixCmdPost
endif
--- 4112,4118 ----
Xexpr 'Xtestfile1:2:Line2'
autocmd QuickFixCmdPost * Xolder
silent Xgrep Line5 Xtestfile2
! call assert_equal('Xtestfile2', @%)
call assert_equal(5, line('.'))
autocmd! QuickFixCmdPost
endif
***************
*** 4122,4128 ****
Xexpr 'Xtestfile1:2:Line2'
autocmd QuickFixCmdPost * Xolder
silent Xvimgrep Line5 Xtestfile2
! call assert_equal('Xtestfile2', bufname(''))
call assert_equal(5, line('.'))
autocmd! QuickFixCmdPost
--- 4122,4128 ----
Xexpr 'Xtestfile1:2:Line2'
autocmd QuickFixCmdPost * Xolder
silent Xvimgrep Line5 Xtestfile2
! call assert_equal('Xtestfile2', @%)
call assert_equal(5, line('.'))
autocmd! QuickFixCmdPost
***************
*** 4415,4421 ****
" positioned correctly.
ll 3
call assert_equal(loclistid, getloclist(0, {'id' : 0}).id)
! call assert_equal('Xtest1', bufname(''))
call assert_equal(15, line('.'))
" Cleanup
autocmd! WinEnter
--- 4415,4421 ----
" positioned correctly.
ll 3
call assert_equal(loclistid, getloclist(0, {'id' : 0}).id)
! call assert_equal('Xtest1', @%)
call assert_equal(15, line('.'))
" Cleanup
autocmd! WinEnter
***************
*** 4476,4526 ****
Xexpr ["X1:5:3:L5", "X2:5:2:L5", "X2:10:3:L10", "X2:15:4:L15", "X3:3:5:L3"]
edit +7 X2
Xabove
! call assert_equal(['X2', 5], [bufname(''), line('.')])
call assert_fails('Xabove', 'E553:')
normal 7G
Xbefore
! call assert_equal(['X2', 5, 2], [bufname(''), line('.'), col('.')])
call assert_fails('Xbefore', 'E553:')
normal 2j
Xbelow
! call assert_equal(['X2', 10], [bufname(''), line('.')])
normal 7G
Xafter
! call assert_equal(['X2', 10, 3], [bufname(''), line('.'), col('.')])
" Last error in this file
Xbelow 99
! call assert_equal(['X2', 15], [bufname(''), line('.')])
call assert_fails('Xbelow', 'E553:')
normal gg
Xafter 99
! call assert_equal(['X2', 15, 4], [bufname(''), line('.'), col('.')])
call assert_fails('Xafter', 'E553:')
" First error in this file
Xabove 99
! call assert_equal(['X2', 5], [bufname(''), line('.')])
call assert_fails('Xabove', 'E553:')
normal G
Xbefore 99
! call assert_equal(['X2', 5, 2], [bufname(''), line('.'), col('.')])
call assert_fails('Xbefore', 'E553:')
normal gg
Xbelow 2
! call assert_equal(['X2', 10], [bufname(''), line('.')])
normal gg
Xafter 2
! call assert_equal(['X2', 10, 3], [bufname(''), line('.'), col('.')])
normal G
Xabove 2
! call assert_equal(['X2', 10], [bufname(''), line('.')])
normal G
Xbefore 2
! call assert_equal(['X2', 10, 3], [bufname(''), line('.'), col('.')])
edit X4
call assert_fails('Xabove', 'E42:')
--- 4476,4526 ----
Xexpr ["X1:5:3:L5", "X2:5:2:L5", "X2:10:3:L10", "X2:15:4:L15", "X3:3:5:L3"]
edit +7 X2
Xabove
! call assert_equal(['X2', 5], [@%, line('.')])
call assert_fails('Xabove', 'E553:')
normal 7G
Xbefore
! call assert_equal(['X2', 5, 2], [@%, line('.'), col('.')])
call assert_fails('Xbefore', 'E553:')
normal 2j
Xbelow
! call assert_equal(['X2', 10], [@%, line('.')])
normal 7G
Xafter
! call assert_equal(['X2', 10, 3], [@%, line('.'), col('.')])
" Last error in this file
Xbelow 99
! call assert_equal(['X2', 15], [@%, line('.')])
call assert_fails('Xbelow', 'E553:')
normal gg
Xafter 99
! call assert_equal(['X2', 15, 4], [@%, line('.'), col('.')])
call assert_fails('Xafter', 'E553:')
" First error in this file
Xabove 99
! call assert_equal(['X2', 5], [@%, line('.')])
call assert_fails('Xabove', 'E553:')
normal G
Xbefore 99
! call assert_equal(['X2', 5, 2], [@%, line('.'), col('.')])
call assert_fails('Xbefore', 'E553:')
normal gg
Xbelow 2
! call assert_equal(['X2', 10], [@%, line('.')])
normal gg
Xafter 2
! call assert_equal(['X2', 10, 3], [@%, line('.'), col('.')])
normal G
Xabove 2
! call assert_equal(['X2', 10], [@%, line('.')])
normal G
Xbefore 2
! call assert_equal(['X2', 10, 3], [@%, line('.'), col('.')])
edit X4
call assert_fails('Xabove', 'E42:')
***************
*** 4544,4588 ****
\ "X2:15:1:L15_1", "X2:15:2:L15_2", "X2:15:3:L15_3", "X3:3:L3"]
edit +1 X2
Xbelow 2
! call assert_equal(['X2', 10, 1], [bufname(''), line('.'), col('.')])
normal 1G
Xafter 2
! call assert_equal(['X2', 5, 2], [bufname(''), line('.'), col('.')])
normal gg
Xbelow 99
! call assert_equal(['X2', 15, 1], [bufname(''), line('.'), col('.')])
normal gg
Xafter 99
! call assert_equal(['X2', 15, 3], [bufname(''), line('.'), col('.')])
normal G
Xabove 2
! call assert_equal(['X2', 10, 1], [bufname(''), line('.'), col('.')])
normal G
Xbefore 2
! call assert_equal(['X2', 15, 2], [bufname(''), line('.'), col('.')])
normal G
Xabove 99
! call assert_equal(['X2', 5, 1], [bufname(''), line('.'), col('.')])
normal G
Xbefore 99
! call assert_equal(['X2', 5, 1], [bufname(''), line('.'), col('.')])
normal 10G
Xabove
! call assert_equal(['X2', 5, 1], [bufname(''), line('.'), col('.')])
normal 10G$
2Xbefore
! call assert_equal(['X2', 10, 2], [bufname(''), line('.'), col('.')])
normal 10G
Xbelow
! call assert_equal(['X2', 15, 1], [bufname(''), line('.'), col('.')])
normal 9G
5Xafter
! call assert_equal(['X2', 15, 2], [bufname(''), line('.'), col('.')])
" Invalid range
if a:cchar == 'c'
--- 4544,4588 ----
\ "X2:15:1:L15_1", "X2:15:2:L15_2", "X2:15:3:L15_3", "X3:3:L3"]
edit +1 X2
Xbelow 2
! call assert_equal(['X2', 10, 1], [@%, line('.'), col('.')])
normal 1G
Xafter 2
! call assert_equal(['X2', 5, 2], [@%, line('.'), col('.')])
normal gg
Xbelow 99
! call assert_equal(['X2', 15, 1], [@%, line('.'), col('.')])
normal gg
Xafter 99
! call assert_equal(['X2', 15, 3], [@%, line('.'), col('.')])
normal G
Xabove 2
! call assert_equal(['X2', 10, 1], [@%, line('.'), col('.')])
normal G
Xbefore 2
! call assert_equal(['X2', 15, 2], [@%, line('.'), col('.')])
normal G
Xabove 99
! call assert_equal(['X2', 5, 1], [@%, line('.'), col('.')])
normal G
Xbefore 99
! call assert_equal(['X2', 5, 1], [@%, line('.'), col('.')])
normal 10G
Xabove
! call assert_equal(['X2', 5, 1], [@%, line('.'), col('.')])
normal 10G$
2Xbefore
! call assert_equal(['X2', 10, 2], [@%, line('.'), col('.')])
normal 10G
Xbelow
! call assert_equal(['X2', 15, 1], [@%, line('.'), col('.')])
normal 9G
5Xafter
! call assert_equal(['X2', 15, 2], [@%, line('.'), col('.')])
" Invalid range
if a:cchar == 'c'
*** ../vim-8.2.1039/src/version.c 2020-06-22 20:30:24.202479096 +0200
--- src/version.c 2020-06-22 21:33:03.663871990 +0200
***************
*** 756,757 ****
--- 756,759 ----
{ /* Add new patch number below this line */
+ /**/
+ 1040,
/**/
--
BEDEVERE: Look! It's the old man from scene 24 - what's he Doing here?
ARTHUR: He is the keeper of the Bridge. He asks each traveler five
questions ...
GALAHAD: Three questions.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- [email protected] -- 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 ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/202006221935.05MJZJvD1488823%40masaka.moolenaar.net.