mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 8.2.1678: crash when using ":set" after ":ownsyntax"
Problem: Crash when using ":set" after ":ownsyntax". Solution: Make sure 'spelloptions' is not NULL. (closes #6950)
This commit is contained in:
@@ -6316,9 +6316,11 @@ ex_ownsyntax(exarg_T *eap)
|
|||||||
#ifdef FEAT_SPELL
|
#ifdef FEAT_SPELL
|
||||||
// TODO: keep the spell checking as it was.
|
// TODO: keep the spell checking as it was.
|
||||||
curwin->w_p_spell = FALSE; // No spell checking
|
curwin->w_p_spell = FALSE; // No spell checking
|
||||||
|
// make sure option values are "empty_option" instead of NULL
|
||||||
clear_string_option(&curwin->w_s->b_p_spc);
|
clear_string_option(&curwin->w_s->b_p_spc);
|
||||||
clear_string_option(&curwin->w_s->b_p_spf);
|
clear_string_option(&curwin->w_s->b_p_spf);
|
||||||
clear_string_option(&curwin->w_s->b_p_spl);
|
clear_string_option(&curwin->w_s->b_p_spl);
|
||||||
|
clear_string_option(&curwin->w_s->b_p_spo);
|
||||||
#endif
|
#endif
|
||||||
clear_string_option(&curwin->w_s->b_syn_isk);
|
clear_string_option(&curwin->w_s->b_syn_isk);
|
||||||
}
|
}
|
||||||
|
@@ -428,7 +428,11 @@ func Test_ownsyntax()
|
|||||||
call setline(1, '#define FOO')
|
call setline(1, '#define FOO')
|
||||||
syntax on
|
syntax on
|
||||||
set filetype=c
|
set filetype=c
|
||||||
|
|
||||||
ownsyntax perl
|
ownsyntax perl
|
||||||
|
" this should not crash
|
||||||
|
set
|
||||||
|
|
||||||
call assert_equal('perlComment', synIDattr(synID(line('.'), col('.'), 1), 'name'))
|
call assert_equal('perlComment', synIDattr(synID(line('.'), col('.'), 1), 'name'))
|
||||||
call assert_equal('c', b:current_syntax)
|
call assert_equal('c', b:current_syntax)
|
||||||
call assert_equal('perl', w:current_syntax)
|
call assert_equal('perl', w:current_syntax)
|
||||||
|
@@ -750,6 +750,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 */
|
||||||
|
/**/
|
||||||
|
1678,
|
||||||
/**/
|
/**/
|
||||||
1677,
|
1677,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user