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);
|
spell_load_lang(lang);
|
||||||
// SpellFileMissing autocommands may do anything, including
|
// SpellFileMissing autocommands may do anything, including
|
||||||
// destroying the buffer we are using...
|
// destroying the buffer we are using or closing the window.
|
||||||
if (!bufref_valid(&bufref))
|
if (!bufref_valid(&bufref) || !win_valid_any_tab(wp))
|
||||||
{
|
{
|
||||||
ret_msg = N_(e_spellfilemising_autocommand_deleted_buffer);
|
ret_msg = N_(e_spellfilemising_autocommand_deleted_buffer);
|
||||||
goto theend;
|
goto theend;
|
||||||
|
@ -159,6 +159,19 @@ func Test_spell_file_missing()
|
|||||||
%bwipe!
|
%bwipe!
|
||||||
endfunc
|
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()
|
func Test_spelldump()
|
||||||
" In case the spell file is not found avoid getting the download dialog, we
|
" In case the spell file is not found avoid getting the download dialog, we
|
||||||
" would get stuck at the prompt.
|
" would get stuck at the prompt.
|
||||||
|
@ -695,6 +695,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
882,
|
||||||
/**/
|
/**/
|
||||||
881,
|
881,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user