Mercurial > vim
diff src/spell.c @ 30509:087c42245022 v9.0.0590
patch 9.0.0590: after exiting Insert mode spelling not checked in next line
Commit: https://github.com/vim/vim/commit/ee09fcc9b6cf24e02899461809da9a5148208ea5
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Sep 25 20:58:30 2022 +0100
patch 9.0.0590: after exiting Insert mode spelling not checked in next line
Problem: After exiting Insert mode spelling is not checked in the next
line.
Solution: When spelling is enabled redraw the next line after exiting Insert
mode in case the spell highlight needs updating.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 25 Sep 2022 22:00:04 +0200 |
parents | 89e1d67814a9 |
children | 8e73ecbee60d |
line wrap: on
line diff
--- a/src/spell.c +++ b/src/spell.c @@ -1238,18 +1238,27 @@ spell_valid_case( } /* - * Return TRUE if spell checking is not enabled. + * Return TRUE if spell checking is enabled for "wp". + */ + int +spell_check_window(win_T *wp) +{ + return wp->w_p_spell + && *wp->w_s->b_p_spl != NUL + && wp->w_s->b_langp.ga_len > 0 + && *(char **)(wp->w_s->b_langp.ga_data) != NULL; +} + +/* + * Return TRUE and give an error if spell checking is not enabled. */ static int no_spell_checking(win_T *wp) { - if (!wp->w_p_spell || *wp->w_s->b_p_spl == NUL - || wp->w_s->b_langp.ga_len == 0) - { - emsg(_(e_spell_checking_is_not_possible)); - return TRUE; - } - return FALSE; + if (spell_check_window(wp)) + return FALSE; + emsg(_(e_spell_checking_is_not_possible)); + return TRUE; } /*