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".