diff options
Diffstat (limited to 'src/spell.c')
-rw-r--r-- | src/spell.c | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/spell.c b/src/spell.c index 08f627d0a4..628814fe6d 100644 --- 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; } /* |