aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/spell.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/spell.c')
-rw-r--r--src/nvim/spell.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/nvim/spell.c b/src/nvim/spell.c
index 7e0bbd6ad1..1ace39344d 100644
--- a/src/nvim/spell.c
+++ b/src/nvim/spell.c
@@ -3746,6 +3746,9 @@ char_u *did_set_spelllang(win_T *wp)
char_u *ret_msg = NULL;
char_u *spl_copy;
+ bufref_T bufref;
+ set_bufref(&bufref, wp->w_buffer);
+
// We don't want to do this recursively. May happen when a language is
// not available and the SpellFileMissing autocommand opens a new buffer
// in which 'spell' is set.
@@ -3824,7 +3827,7 @@ char_u *did_set_spelllang(win_T *wp)
spell_load_lang(lang);
// SpellFileMissing autocommands may do anything, including
// destroying the buffer we are using...
- if (!buf_valid(wp->w_buffer)) {
+ if (!bufref_valid(&bufref)) {
ret_msg =
(char_u *)"E797: SpellFileMissing autocommand deleted buffer";
goto theend;
@@ -13037,8 +13040,9 @@ void ex_spelldump(exarg_T *eap)
set_option_value((char_u*)"spl", dummy, spl, OPT_LOCAL);
xfree(spl);
- if (!bufempty() || !buf_valid(curbuf))
+ if (!bufempty()) {
return;
+ }
spell_dump_compl(NULL, 0, NULL, eap->forceit ? DUMPFLAG_COUNT : 0);