Mercurial > vim
comparison 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 |
comparison
equal
deleted
inserted
replaced
30508:fa62c3eb4305 | 30509:087c42245022 |
---|---|
1236 && ((treeflags & WF_ONECAP) == 0 | 1236 && ((treeflags & WF_ONECAP) == 0 |
1237 || (wordflags & WF_ONECAP) != 0))); | 1237 || (wordflags & WF_ONECAP) != 0))); |
1238 } | 1238 } |
1239 | 1239 |
1240 /* | 1240 /* |
1241 * Return TRUE if spell checking is not enabled. | 1241 * Return TRUE if spell checking is enabled for "wp". |
1242 */ | |
1243 int | |
1244 spell_check_window(win_T *wp) | |
1245 { | |
1246 return wp->w_p_spell | |
1247 && *wp->w_s->b_p_spl != NUL | |
1248 && wp->w_s->b_langp.ga_len > 0 | |
1249 && *(char **)(wp->w_s->b_langp.ga_data) != NULL; | |
1250 } | |
1251 | |
1252 /* | |
1253 * Return TRUE and give an error if spell checking is not enabled. | |
1242 */ | 1254 */ |
1243 static int | 1255 static int |
1244 no_spell_checking(win_T *wp) | 1256 no_spell_checking(win_T *wp) |
1245 { | 1257 { |
1246 if (!wp->w_p_spell || *wp->w_s->b_p_spl == NUL | 1258 if (spell_check_window(wp)) |
1247 || wp->w_s->b_langp.ga_len == 0) | 1259 return FALSE; |
1248 { | 1260 emsg(_(e_spell_checking_is_not_possible)); |
1249 emsg(_(e_spell_checking_is_not_possible)); | 1261 return TRUE; |
1250 return TRUE; | |
1251 } | |
1252 return FALSE; | |
1253 } | 1262 } |
1254 | 1263 |
1255 /* | 1264 /* |
1256 * Move to next spell error. | 1265 * Move to next spell error. |
1257 * "curline" is FALSE for "[s", "]s", "[S" and "]S". | 1266 * "curline" is FALSE for "[s", "]s", "[S" and "]S". |