Patch 8.2.1046
Problem:    Insufficient tests for src/buffer.c.
Solution:   Add more tests.  Move comments related tests to a separate file.
            (Yegappan Lakshmanan, closes #6325)
Files:      src/testdir/Make_all.mak, src/testdir/test_buffer.vim,
            src/testdir/test_cmdline.vim, src/testdir/test_comments.vim,
            src/testdir/test_normal.vim, src/testdir/test_textformat.vim


*** ../vim-8.2.1045/src/testdir/Make_all.mak    2020-06-13 13:20:21.092620451 
+0200
--- src/testdir/Make_all.mak    2020-06-24 13:10:03.454528099 +0200
***************
*** 90,95 ****
--- 90,96 ----
        test_close_count \
        test_cmdline \
        test_command_count \
+       test_comments \
        test_comparators \
        test_compiler \
        test_conceal \
***************
*** 341,346 ****
--- 342,348 ----
        test_close_count.res \
        test_cmdline.res \
        test_command_count.res \
+       test_comments.res \
        test_comparators.res \
        test_conceal.res \
        test_const.res \
*** ../vim-8.2.1045/src/testdir/test_buffer.vim 2020-04-13 19:55:47.567369413 
+0200
--- src/testdir/test_buffer.vim 2020-06-24 13:10:03.454528099 +0200
***************
*** 1,5 ****
--- 1,7 ----
  " Tests for Vim buffer
  
+ source check.vim
+ 
  " Test for the :bunload command with an offset
  func Test_bunload_with_offset()
    %bwipe!
***************
*** 152,157 ****
--- 154,177 ----
    set nobuflisted
    enew
    call assert_fails('bdelete ' .. bnr, 'E516:')
+ 
+   " Deleting more than one buffer
+   new Xbuf1
+   new Xbuf2
+   exe 'bdel ' .. bufnr('Xbuf2') .. ' ' .. bufnr('Xbuf1')
+   call assert_equal(1, winnr('$'))
+   call assert_equal(0, getbufinfo('Xbuf1')[0].loaded)
+   call assert_equal(0, getbufinfo('Xbuf2')[0].loaded)
+ 
+   " Deleting more than one buffer and an invalid buffer
+   new Xbuf1
+   new Xbuf2
+   let cmd = "exe 'bdel ' .. bufnr('Xbuf2') .. ' xxx ' .. bufnr('Xbuf1')"
+   call assert_fails(cmd, 'E94:')
+   call assert_equal(2, winnr('$'))
+   call assert_equal(1, getbufinfo('Xbuf1')[0].loaded)
+   call assert_equal(0, getbufinfo('Xbuf2')[0].loaded)
+ 
    %bwipe!
  endfunc
  
***************
*** 166,169 ****
--- 186,373 ----
    %bwipe
  endfunc
  
+ " Test for the status messages displayed when unloading, deleting or wiping
+ " out buffers
+ func Test_buffer_statusmsg()
+   CheckEnglish
+   set report=1
+   new Xbuf1
+   new Xbuf2
+   let bnr = bufnr()
+   exe "normal 2\<C-G>"
+   call assert_match('buf ' .. bnr .. ':', v:statusmsg)
+   bunload Xbuf1 Xbuf2
+   call assert_equal('2 buffers unloaded', v:statusmsg)
+   bdel Xbuf1 Xbuf2
+   call assert_equal('2 buffers deleted', v:statusmsg)
+   bwipe Xbuf1 Xbuf2
+   call assert_equal('2 buffers wiped out', v:statusmsg)
+   set report&
+ endfunc
+ 
+ " Test for quitting the 'swapfile exists' dialog with the split buffer
+ " command.
+ func Test_buffer_sbuf_cleanup()
+   call writefile([], 'Xfile')
+   " first open the file in a buffer
+   new Xfile
+   let bnr = bufnr()
+   close
+   " create the swap file
+   call writefile([], '.Xfile.swp')
+   " Remove the catch-all that runtest.vim adds
+   au! SwapExists
+   augroup BufTest
+     au!
+     autocmd SwapExists Xfile let v:swapchoice='q'
+   augroup END
+   exe 'sbuf ' . bnr
+   call assert_equal(1, winnr('$'))
+   call assert_equal(0, getbufinfo('Xfile')[0].loaded)
+ 
+   " test for :sball
+   sball
+   call assert_equal(1, winnr('$'))
+   call assert_equal(0, getbufinfo('Xfile')[0].loaded)
+ 
+   %bw!
+   set shortmess+=F
+   let v:statusmsg = ''
+   edit Xfile
+   call assert_equal('', v:statusmsg)
+   call assert_equal(1, winnr('$'))
+   call assert_equal(0, getbufinfo('Xfile')[0].loaded)
+   set shortmess&
+ 
+   call delete('Xfile')
+   call delete('.Xfile.swp')
+   augroup BufTest
+     au!
+   augroup END
+   augroup! BufTest
+ endfunc
+ 
+ " Test for deleting a modified buffer with :confirm
+ func Test_bdel_with_confirm()
+   CheckUnix
+   CheckNotGui
+   CheckFeature dialog_con
+   new
+   call setline(1, 'test')
+   call assert_fails('bdel', 'E89:')
+   call feedkeys('c', 'L')
+   confirm bdel
+   call assert_equal(2, winnr('$'))
+   call assert_equal(1, &modified)
+   call feedkeys('n', 'L')
+   confirm bdel
+   call assert_equal(1, winnr('$'))
+ endfunc
+ 
+ " Test for editing another buffer from a modified buffer with :confirm
+ func Test_goto_buf_with_confirm()
+   CheckUnix
+   CheckNotGui
+   CheckFeature dialog_con
+   new Xfile
+   enew
+   call setline(1, 'test')
+   call assert_fails('b Xfile', 'E37:')
+   call feedkeys('c', 'L')
+   call assert_fails('confirm b Xfile', 'E37:')
+   call assert_equal(1, &modified)
+   call assert_equal('', @%)
+   call feedkeys('y', 'L')
+   call assert_fails('confirm b Xfile', 'E37:')
+   call assert_equal(1, &modified)
+   call assert_equal('', @%)
+   call feedkeys('n', 'L')
+   confirm b Xfile
+   call assert_equal('Xfile', @%)
+   close!
+ endfunc
+ 
+ " Test for splitting buffer with 'switchbuf'
+ func Test_buffer_switchbuf()
+   new Xfile
+   wincmd w
+   set switchbuf=useopen
+   sbuf Xfile
+   call assert_equal(1, winnr())
+   call assert_equal(2, winnr('$'))
+   set switchbuf=usetab
+   tabnew
+   sbuf Xfile
+   call assert_equal(1, tabpagenr())
+   call assert_equal(2, tabpagenr('$'))
+   set switchbuf&
+   %bw
+ endfunc
+ 
+ " Test for BufAdd autocommand wiping out the buffer
+ func Test_bufadd_autocmd_bwipe()
+   %bw!
+   augroup BufAdd_Wipe
+     au!
+     autocmd BufAdd Xfile %bw!
+   augroup END
+   edit Xfile
+   call assert_equal('', @%)
+   call assert_equal(0, bufexists('Xfile'))
+   augroup BufAdd_Wipe
+     au!
+   augroup END
+   augroup! BufAdd_Wipe
+ endfunc
+ 
+ " Test for trying to load a buffer with text locked
+ " <C-\>e in the command line is used to lock the text
+ func Test_load_buf_with_text_locked()
+   new Xfile1
+   edit Xfile2
+   let cmd = ":\<C-\>eexecute(\"normal \<C-O>\")\<CR>\<C-C>"
+   call assert_fails("call feedkeys(cmd, 'xt')", 'E565:')
+   %bw!
+ endfunc
+ 
+ " Test for using CTRL-^ to edit the alternative file keeping the cursor
+ " position with 'nostartofline'. Also test using the 'buf' command.
+ func Test_buffer_edit_altfile()
+   call writefile(repeat(['one two'], 50), 'Xfile1')
+   call writefile(repeat(['five six'], 50), 'Xfile2')
+   set nosol
+   edit Xfile1
+   call cursor(25, 5)
+   edit Xfile2
+   call cursor(30, 4)
+   exe "normal \<C-^>"
+   call assert_equal([0, 25, 5, 0], getpos('.'))
+   exe "normal \<C-^>"
+   call assert_equal([0, 30, 4, 0], getpos('.'))
+   buf Xfile1
+   call assert_equal([0, 25, 5, 0], getpos('.'))
+   buf Xfile2
+   call assert_equal([0, 30, 4, 0], getpos('.'))
+   set sol&
+   call delete('Xfile1')
+   call delete('Xfile2')
+ endfunc
+ 
+ " Test for running the :sball command with a maximum window count and a
+ " modified buffer
+ func Test_sball_with_count()
+   %bw!
+   edit Xfile1
+   call setline(1, ['abc'])
+   new Xfile2
+   new Xfile3
+   new Xfile4
+   2sball
+   call assert_equal(bufnr('Xfile4'), winbufnr(1))
+   call assert_equal(bufnr('Xfile1'), winbufnr(2))
+   call assert_equal(0, getbufinfo('Xfile2')[0].loaded)
+   call assert_equal(0, getbufinfo('Xfile3')[0].loaded)
+   %bw!
+ endfunc
+ 
  " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.1045/src/testdir/test_cmdline.vim        2020-06-18 
21:14:25.649217425 +0200
--- src/testdir/test_cmdline.vim        2020-06-24 13:10:03.454528099 +0200
***************
*** 392,397 ****
--- 392,398 ----
    call delete('Xtags')
    set tags&
  
+   call assert_fails("call getcompletion('\\\\@!\\\\@=', 'buffer')", 'E871:')
    call assert_fails('call getcompletion("", "burp")', 'E475:')
    call assert_fails('call getcompletion("abc", [])', 'E475:')
  endfunc
*** ../vim-8.2.1045/src/testdir/test_comments.vim       2020-06-24 
13:36:31.830505517 +0200
--- src/testdir/test_comments.vim       2020-06-24 13:10:03.454528099 +0200
***************
*** 0 ****
--- 1,277 ----
+ " Tests for the various flags in the 'comments' option
+ 
+ " Test for the 'n' flag in 'comments'
+ func Test_comment_nested()
+   new
+   setlocal comments=n:> fo+=ro
+   exe "normal i> B\nD\<C-C>ggOA\<C-C>joC\<C-C>Go\<BS>>>> F\nH"
+   exe "normal 5GOE\<C-C>6GoG"
+   let expected =<< trim END
+     > A
+     > B
+     > C
+     > D
+     >>>> E
+     >>>> F
+     >>>> G
+     >>>> H
+   END
+   call assert_equal(expected, getline(1, '$'))
+   close!
+ endfunc
+ 
+ " Test for the 'b' flag in 'comments'
+ func Test_comment_blank()
+   new
+   setlocal comments=b:* fo+=ro
+   exe "normal i* E\nF\n\<BS>G\nH\<C-C>ggOC\<C-C>O\<BS>B\<C-C>OA\<C-C>2joD"
+   let expected =<< trim END
+     A
+     *B
+     * C
+     * D
+     * E
+     * F
+     *G
+     H
+   END
+   call assert_equal(expected, getline(1, '$'))
+   close!
+ endfunc
+ 
+ " Test for the 'f' flag in 'comments' (only the first line has a comment
+ " string)
+ func Test_comment_firstline()
+   new
+   setlocal comments=f:- fo+=ro
+   exe "normal i- B\nD\<C-C>ggoC\<C-C>ggOA\<C-C>"
+   call assert_equal(['A', '- B', '  C', '  D'], getline(1, '$'))
+   %d
+   setlocal comments=:-
+   exe "normal i- B\nD\<C-C>ggoC\<C-C>ggOA\<C-C>"
+   call assert_equal(['- A', '- B', '- C', '- D'], getline(1, '$'))
+   close!
+ endfunc
+ 
+ " Test for the 's', 'm' and 'e' flags in 'comments'
+ " Test for automatically adding comment leaders in insert mode
+ func Test_comment_threepiece()
+   new
+   setlocal expandtab
+   call setline(1, ["\t/*"])
+   setlocal formatoptions=croql
+   call cursor(1, 3)
+   call feedkeys("A\<cr>\<cr>/", 'tnix')
+   call assert_equal(["\t/*", " *", " */"], getline(1, '$'))
+ 
+   " If a comment ends in a single line, then don't add it in the next line
+   %d
+   call setline(1, '/* line1 */')
+   call feedkeys("A\<CR>next line", 'xt')
+   call assert_equal(['/* line1 */', 'next line'], getline(1, '$'))
+ 
+   %d
+   " Copy the trailing indentation from the leader comment to a new line
+   setlocal autoindent noexpandtab
+   call feedkeys("a\t/*\tone\ntwo\n/", 'xt')
+   call assert_equal(["\t/*\tone", "\t *\ttwo", "\t */"], getline(1, '$'))
+   close!
+ endfunc
+ 
+ " Test for the 'r' flag in 'comments' (right align comment)
+ func Test_comment_rightalign()
+   new
+   setlocal comments=sr:/***,m:**,ex-2:******/ fo+=ro
+   exe "normal i=\<C-C>o\t  /***\nD\n/"
+   exe "normal 2GOA\<C-C>joB\<C-C>jOC\<C-C>joE\<C-C>GOF\<C-C>joG"
+   let expected =<< trim END
+     =
+     A
+         /***
+           ** B
+           ** C
+           ** D
+           ** E
+           **     F
+           ******/
+     G
+   END
+   call assert_equal(expected, getline(1, '$'))
+   close!
+ endfunc
+ 
+ " Test for the 'O' flag in 'comments'
+ func Test_comment_O()
+   new
+   setlocal comments=Ob:* fo+=ro
+   exe "normal i* B\nD\<C-C>kOA\<C-C>joC"
+   let expected =<< trim END
+     A
+     * B
+     * C
+     * D
+   END
+   call assert_equal(expected, getline(1, '$'))
+   close!
+ endfunc
+ 
+ " Test for using a multibyte character as a comment leader
+ func Test_comment_multibyte_leader()
+   new
+   let t =<< trim END
+     {
+     X
+     Xa
+     XaY
+     XY
+     XYZ
+     X Y
+     X YZ
+     XX
+     XXa
+     XXY
+     }
+   END
+   call setline(1, t)
+   call cursor(2, 1)
+ 
+   set tw=2 fo=cqm comments=n:X
+   exe "normal gqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgq"
+   let t =<< trim END
+     X
+     Xa
+     XaY
+     XY
+     XYZ
+     X Y
+     X YZ
+     XX
+     XXa
+     XXY
+   END
+   exe "normal o\n" . join(t, "\n")
+ 
+   let expected =<< trim END
+     {
+     X
+     Xa
+     Xa
+     XY
+     XY
+     XY
+     XZ
+     X Y
+     X Y
+     X Z
+     XX
+     XXa
+     XXY
+ 
+     X
+     Xa
+     Xa
+     XY
+     XY
+     XY
+     XZ
+     X Y
+     X Y
+     X Z
+     XX
+     XXa
+     XXY
+     }
+   END
+   call assert_equal(expected, getline(1, '$'))
+ 
+   set tw& fo& comments&
+   close!
+ endfunc
+ 
+ " Test for a space character in 'comments' setting
+ func Test_comment_space()
+   new
+   setlocal comments=b:\ > fo+=ro
+   exe "normal i> B\nD\<C-C>ggOA\<C-C>joC"
+   exe "normal Go > F\nH\<C-C>kOE\<C-C>joG"
+   let expected =<< trim END
+     A
+     > B
+     C
+     D
+      > E
+      > F
+      > G
+      > H
+   END
+   call assert_equal(expected, getline(1, '$'))
+   close!
+ endfunc
+ 
+ " Test for formatting lines with and without comments
+ func Test_comment_format_lines()
+   new
+   call setline(1, ['one', '/* two */', 'three'])
+   normal gggqG
+   call assert_equal(['one', '/* two */', 'three'], getline(1, '$'))
+   close!
+ endfunc
+ 
+ " Test for using 'a' in 'formatoptions' with comments
+ func Test_comment_autoformat()
+   new
+   setlocal formatoptions+=a
+   call feedkeys("a- one\n- two\n", 'xt')
+   call assert_equal(['- one', '- two', ''], getline(1, '$'))
+ 
+   %d
+   call feedkeys("a\none\n", 'xt')
+   call assert_equal(['', 'one', ''], getline(1, '$'))
+ 
+   setlocal formatoptions+=aw
+   %d
+   call feedkeys("aone \ntwo\n", 'xt')
+   call assert_equal(['one two', ''], getline(1, '$'))
+ 
+   %d
+   call feedkeys("aone\ntwo\n", 'xt')
+   call assert_equal(['one', 'two', ''], getline(1, '$'))
+ 
+   close!
+ endfunc
+ 
+ " Test for joining lines with comments ('j' flag in 'formatoptions')
+ func Test_comment_join_lines_fo_j()
+   new
+   setlocal fo+=j comments=://
+   call setline(1, ['i++; // comment1', '           // comment2'])
+   normal J
+   call assert_equal('i++; // comment1 comment2', getline(1))
+   setlocal fo-=j
+   call setline(1, ['i++; // comment1', '           // comment2'])
+   normal J
+   call assert_equal('i++; // comment1 // comment2', getline(1))
+   " Test with nested comments
+   setlocal fo+=j comments=n:>,n:)
+   call setline(1, ['i++; > ) > ) comment1', '           > ) comment2'])
+   normal J
+   call assert_equal('i++; > ) > ) comment1 comment2', getline(1))
+   close!
+ endfunc
+ 
+ " Test for formatting lines where only the first line has a comment.
+ func Test_comment_format_firstline_comment()
+   new
+   setlocal formatoptions=tcq
+   call setline(1, ['- one two', 'three'])
+   normal gggqG
+   call assert_equal(['- one two three'], getline(1, '$'))
+ 
+   %d
+   call setline(1, ['- one', '- two'])
+   normal gggqG
+   call assert_equal(['- one', '- two'], getline(1, '$'))
+   close!
+ endfunc
+ 
+ " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.1045/src/testdir/test_normal.vim 2020-06-22 21:34:24.331583419 
+0200
--- src/testdir/test_normal.vim 2020-06-24 13:10:03.454528099 +0200
***************
*** 1267,1272 ****
--- 1267,1273 ----
    edit Xfoo | %bw
    call assert_fails(':buffer #', 'E86')
    call assert_fails(':execute "normal! \<C-^>"', 'E23')
+   call assert_fails("normal i\<C-R>#", 'E23:')
  
    " Test for the expected behavior when switching between two named buffers.
    edit Xfoo | edit Xbar
*** ../vim-8.2.1045/src/testdir/test_textformat.vim     2020-06-20 
16:05:29.016185239 +0200
--- src/testdir/test_textformat.vim     2020-06-24 13:10:03.454528099 +0200
***************
*** 784,861 ****
    bwipe!
  endfunc
  
- func Test_tw_2_fo_cqm_com()
-   new
-   let t =<< trim END
-     {
-     X
-     Xa
-     XaY
-     XY
-     XYZ
-     X Y
-     X YZ
-     XX
-     XXa
-     XXY
-     }
-   END
-   call setline(1, t)
-   call cursor(2, 1)
- 
-   set tw=2 fo=cqm comments=n:X
-   exe "normal gqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgq"
-   let t =<< trim END
-     X
-     Xa
-     XaY
-     XY
-     XYZ
-     X Y
-     X YZ
-     XX
-     XXa
-     XXY
-   END
-   exe "normal o\n" . join(t, "\n")
- 
-   let expected =<< trim END
-     {
-     X
-     Xa
-     Xa
-     XY
-     XY
-     XY
-     XZ
-     X Y
-     X Y
-     X Z
-     XX
-     XXa
-     XXY
- 
-     X
-     Xa
-     Xa
-     XY
-     XY
-     XY
-     XZ
-     X Y
-     X Y
-     X Z
-     XX
-     XXa
-     XXY
-     }
-   END
-   call assert_equal(expected, getline(1, '$'))
- 
-   set tw& fo& comments&
-   bwipe!
- endfunc
- 
  func Test_tw_2_fo_tm_replace()
    new
    let t =<< trim END
--- 784,789 ----
***************
*** 975,1114 ****
    bwipe!
  endfunc
  
- " Test for automatically adding comment leaders in insert mode
- func Test_threepiece_comment()
-   new
-   setlocal expandtab
-   call setline(1, ["\t/*"])
-   setlocal formatoptions=croql
-   call cursor(1, 3)
-   call feedkeys("A\<cr>\<cr>/", 'tnix')
-   call assert_equal(["\t/*", " *", " */"], getline(1, '$'))
- 
-   " If a comment ends in a single line, then don't add it in the next line
-   %d
-   call setline(1, '/* line1 */')
-   call feedkeys("A\<CR>next line", 'xt')
-   call assert_equal(['/* line1 */', 'next line'], getline(1, '$'))
- 
-   %d
-   " Copy the trailing indentation from the leader comment to a new line
-   setlocal autoindent noexpandtab
-   call feedkeys("a\t/*\tone\ntwo\n/", 'xt')
-   call assert_equal(["\t/*\tone", "\t *\ttwo", "\t */"], getline(1, '$'))
-   close!
- endfunc
- 
- " Test for the 'f' flag in 'comments' (only the first line has the comment
- " string)
- func Test_firstline_comment()
-   new
-   setlocal comments=f:- fo+=ro
-   exe "normal i- B\nD\<C-C>ggoC\<C-C>ggOA\<C-C>"
-   call assert_equal(['A', '- B', '  C', '  D'], getline(1, '$'))
-   %d
-   setlocal comments=:-
-   exe "normal i- B\nD\<C-C>ggoC\<C-C>ggOA\<C-C>"
-   call assert_equal(['- A', '- B', '- C', '- D'], getline(1, '$'))
-   %bw!
- endfunc
- 
- " Test for the 'r' flag in 'comments' (right align comment)
- func Test_comment_rightalign()
-   new
-   setlocal comments=sr:/***,m:**,ex-2:******/ fo+=ro
-   exe "normal i=\<C-C>o\t  /***\nD\n/"
-   exe "normal 2GOA\<C-C>joB\<C-C>jOC\<C-C>joE\<C-C>GOF\<C-C>joG"
-   let expected =<< trim END
-     =
-     A
-         /***
-           ** B
-           ** C
-           ** D
-           ** E
-           **     F
-           ******/
-     G
-   END
-   call assert_equal(expected, getline(1, '$'))
-   %bw!
- endfunc
- 
- " Test for the 'b' flag in 'comments'
- func Test_comment_blank()
-   new
-   setlocal comments=b:* fo+=ro
-   exe "normal i* E\nF\n\<BS>G\nH\<C-C>ggOC\<C-C>O\<BS>B\<C-C>OA\<C-C>2joD"
-   let expected =<< trim END
-     A
-     *B
-     * C
-     * D
-     * E
-     * F
-     *G
-     H
-   END
-   call assert_equal(expected, getline(1, '$'))
-   %bw!
- endfunc
- 
- " Test for the 'n' flag in comments
- func Test_comment_nested()
-   new
-   setlocal comments=n:> fo+=ro
-   exe "normal i> B\nD\<C-C>ggOA\<C-C>joC\<C-C>Go\<BS>>>> F\nH"
-   exe "normal 5GOE\<C-C>6GoG"
-   let expected =<< trim END
-     > A
-     > B
-     > C
-     > D
-     >>>> E
-     >>>> F
-     >>>> G
-     >>>> H
-   END
-   call assert_equal(expected, getline(1, '$'))
-   %bw!
- endfunc
- 
- " Test for a space character in 'comments' setting
- func Test_comment_space()
-   new
-   setlocal comments=b:\ > fo+=ro
-   exe "normal i> B\nD\<C-C>ggOA\<C-C>joC"
-   exe "normal Go > F\nH\<C-C>kOE\<C-C>joG"
-   let expected =<< trim END
-     A
-     > B
-     C
-     D
-      > E
-      > F
-      > G
-      > H
-   END
-   call assert_equal(expected, getline(1, '$'))
-   %bw!
- endfunc
- 
- " Test for the 'O' flag in 'comments'
- func Test_comment_O()
-   new
-   setlocal comments=Ob:* fo+=ro
-   exe "normal i* B\nD\<C-C>kOA\<C-C>joC"
-   let expected =<< trim END
-     A
-     * B
-     * C
-     * D
-   END
-   call assert_equal(expected, getline(1, '$'))
-   %bw!
- endfunc
- 
  " Test for 'a' and 'w' flags in 'formatoptions'
  func Test_fo_a_w()
    new
--- 903,908 ----
***************
*** 1143,1167 ****
    %bw!
  endfunc
  
- " Test for 'j' flag in 'formatoptions'
- func Test_fo_j()
-   new
-   setlocal fo+=j comments=://
-   call setline(1, ['i++; // comment1', '           // comment2'])
-   normal J
-   call assert_equal('i++; // comment1 comment2', getline(1))
-   setlocal fo-=j
-   call setline(1, ['i++; // comment1', '           // comment2'])
-   normal J
-   call assert_equal('i++; // comment1 // comment2', getline(1))
-   " Test with nested comments
-   setlocal fo+=j comments=n:>,n:)
-   call setline(1, ['i++; > ) > ) comment1', '           > ) comment2'])
-   normal J
-   call assert_equal('i++; > ) > ) comment1 comment2', getline(1))
-   %bw!
- endfunc
- 
  " Test for formatting lines using gq in visual mode
  func Test_visual_gq_format()
    new
--- 937,942 ----
***************
*** 1296,1346 ****
    close!
  endfunc
  
- " Test for formatting lines where only the first line has a comment.
- func Test_fo_gq_with_firstline_comment()
-   new
-   setlocal formatoptions=tcq
-   call setline(1, ['- one two', 'three'])
-   normal gggqG
-   call assert_equal(['- one two three'], getline(1, '$'))
- 
-   %d
-   call setline(1, ['- one', '- two'])
-   normal gggqG
-   call assert_equal(['- one', '- two'], getline(1, '$'))
-   close!
- endfunc
- 
- " Test for trying to join a comment line with a non-comment line
- func Test_join_comments()
-   new
-   call setline(1, ['one', '/* two */', 'three'])
-   normal gggqG
-   call assert_equal(['one', '/* two */', 'three'], getline(1, '$'))
-   close!
- endfunc
- 
- " Test for using 'a' in 'formatoptions' with comments
- func Test_autoformat_comments()
-   new
-   setlocal formatoptions+=a
-   call feedkeys("a- one\n- two\n", 'xt')
-   call assert_equal(['- one', '- two', ''], getline(1, '$'))
- 
-   %d
-   call feedkeys("a\none\n", 'xt')
-   call assert_equal(['', 'one', ''], getline(1, '$'))
- 
-   setlocal formatoptions+=aw
-   %d
-   call feedkeys("aone \ntwo\n", 'xt')
-   call assert_equal(['one two', ''], getline(1, '$'))
- 
-   %d
-   call feedkeys("aone\ntwo\n", 'xt')
-   call assert_equal(['one', 'two', ''], getline(1, '$'))
- 
-   close!
- endfunc
- 
  " vim: shiftwidth=2 sts=2 expandtab
--- 1071,1074 ----
*** ../vim-8.2.1045/src/version.c       2020-06-23 22:26:01.893386768 +0200
--- src/version.c       2020-06-24 13:11:31.054312621 +0200
***************
*** 756,757 ****
--- 756,759 ----
  {   /* Add new patch number below this line */
+ /**/
+     1046,
  /**/

-- 
BRIDGEKEEPER: What is your favorite editor?
GAWAIN:       Emacs ...  No, Viiiiiiiiiiimmmmmmm!
           "Monty Python and the Holy editor wars" PYTHON (MONTY) SOFTWARE 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/202006241139.05OBd4131908834%40masaka.moolenaar.net.

Raspunde prin e-mail lui