1
0
forked from aniani/vim

patch 8.2.1770: invalid memory use when using SpellFileMissing autocmd

Problem:    Invalid memory use when using SpellFileMissing autocmd.
Solution:   Add test case. (Dominique Pellé, closes #7036)  Fix using a window
            that was closed.
This commit is contained in:
Bram Moolenaar
2020-09-28 23:13:15 +02:00
parent 4934ad0e44
commit d569a9e746
3 changed files with 26 additions and 1 deletions

View File

@@ -2280,11 +2280,11 @@ did_set_spelllang(win_T *wp)
}
}
}
redraw_win_later(wp, NOT_VALID);
theend:
vim_free(spl_copy);
recursive = FALSE;
redraw_win_later(wp, NOT_VALID);
return ret_msg;
}

View File

@@ -120,6 +120,29 @@ foobar/?
set spell&
endfunc
func Test_spell_file_missing()
let s:spell_file_missing = 0
augroup TestSpellFileMissing
autocmd! SpellFileMissing * let s:spell_file_missing += 1
augroup END
set spell spelllang=ab_cd
let messages = GetMessages()
call assert_equal('Warning: Cannot find word list "ab.utf-8.spl" or "ab.ascii.spl"', messages[-1])
call assert_equal(1, s:spell_file_missing)
new XTestSpellFileMissing
augroup TestSpellFileMissing
autocmd! SpellFileMissing * bwipe
augroup END
call assert_fails('set spell spelllang=ab_cd', 'E797:')
augroup! TestSpellFileMissing
unlet s:spell_file_missing
set spell& spelllang&
%bwipe!
endfunc
func Test_spelllang_inv_region()
set spell spelllang=en_xx
let messages = GetMessages()

View File

@@ -750,6 +750,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1770,
/**/
1769,
/**/