vim-patch:9.0.1578: SpellCap highlight not always updated when needed (#23755)

Problem:    SpellCap highlight not always updated when needed.
Solution:   Handle updating line below closed fold and other situations where
            only part of the window is redrawn. (Luuk van Baal, closes vim/vim#12428,
            closes vim/vim#12420)

2ac6497f0e
This commit is contained in:
luukvbaal
2023-05-26 02:08:18 +02:00
committed by GitHub
parent ee986ee044
commit f733595e79
6 changed files with 83 additions and 30 deletions

View File

@@ -1003,13 +1003,26 @@ func Test_spell_screendump_spellcap()
call VerifyScreenDump(buf, 'Test_spell_3', {})
" Deleting a full stop removes missing Cap in next line
call term_sendkeys(buf, "5Gddk$x")
call term_sendkeys(buf, "5Gdd\<C-L>k$x")
call VerifyScreenDump(buf, 'Test_spell_4', {})
" Undo also updates the next line (go to command line to remove message)
call term_sendkeys(buf, "u:\<Esc>")
call VerifyScreenDump(buf, 'Test_spell_5', {})
" Folding an empty line does not remove Cap in next line
call term_sendkeys(buf, "uzfk:\<Esc>")
call VerifyScreenDump(buf, 'Test_spell_6', {})
" Folding the end of a sentence does not remove Cap in next line
" and editing a line does not remove Cap in current line
call term_sendkeys(buf, "Jzfkk$x")
call VerifyScreenDump(buf, 'Test_spell_7', {})
" Cap is correctly applied in the first row of a window
call term_sendkeys(buf, "\<C-E>\<C-L>")
call VerifyScreenDump(buf, 'Test_spell_8', {})
" clean up
call StopVimInTerminal(buf)
endfunc