vim-patch:9.0.0608: with spelling, deleting a full stop does not update next line

Problem:    With spell checking, deleting a full stop at the end of a line
            does not update SpellCap at the start of the next line.
Solution:   Update the next line when characters have been deleted.  Also when
            using undo.

26f09ea54b

Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
Luuk van Baal
2023-05-24 20:26:03 +02:00
parent ad7cded1f3
commit d2dc7cfa5b
5 changed files with 46 additions and 8 deletions

View File

@@ -43,6 +43,7 @@
#include "nvim/plines.h"
#include "nvim/pos.h"
#include "nvim/search.h"
#include "nvim/spell.h"
#include "nvim/state.h"
#include "nvim/strings.h"
#include "nvim/textformat.h"
@@ -393,6 +394,12 @@ void changed_bytes(linenr_T lnum, colnr_T col)
{
changedOneline(curbuf, lnum);
changed_common(lnum, col, lnum + 1, 0);
// When text has been changed at the end of the line, possibly the start of
// the next line may have SpellCap that should be removed or it needs to be
// displayed. Schedule the next line for redrawing just in case.
if (spell_check_window(curwin) && lnum < curbuf->b_ml.ml_line_count) {
redrawWinline(curwin, lnum + 1);
}
// notify any channels that are watching
buf_updates_send_changes(curbuf, lnum, 1, 1);