forked from aniani/vim
patch 9.0.0882: using freed memory after SpellFileMissing autocmd uses bwipe
Problem: Using freed memory after SpellFileMissing autocmd uses bwipe. Solution: Bail out if the window no longer exists.
This commit is contained in:
parent
24dc19cdb2
commit
c3d27ada14
@ -2110,8 +2110,8 @@ did_set_spelllang(win_T *wp)
|
||||
{
|
||||
spell_load_lang(lang);
|
||||
// SpellFileMissing autocommands may do anything, including
|
||||
// destroying the buffer we are using...
|
||||
if (!bufref_valid(&bufref))
|
||||
// destroying the buffer we are using or closing the window.
|
||||
if (!bufref_valid(&bufref) || !win_valid_any_tab(wp))
|
||||
{
|
||||
ret_msg = N_(e_spellfilemising_autocommand_deleted_buffer);
|
||||
goto theend;
|
||||
|
@ -159,6 +159,19 @@ func Test_spell_file_missing()
|
||||
%bwipe!
|
||||
endfunc
|
||||
|
||||
func Test_spell_file_missing_bwipe()
|
||||
" this was using a window that was wiped out in a SpellFileMissing autocmd
|
||||
set spelllang=xy
|
||||
au SpellFileMissing * n0
|
||||
set spell
|
||||
au SpellFileMissing * bw
|
||||
snext somefile
|
||||
|
||||
au! SpellFileMissing
|
||||
bwipe!
|
||||
set nospell spelllang=en
|
||||
endfunc
|
||||
|
||||
func Test_spelldump()
|
||||
" In case the spell file is not found avoid getting the download dialog, we
|
||||
" would get stuck at the prompt.
|
||||
|
@ -695,6 +695,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
882,
|
||||
/**/
|
||||
881,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user