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)
diff --git a/src/syntax.c b/src/syntax.c
index ccdb203..6025889 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -6316,9 +6316,11 @@
#ifdef FEAT_SPELL
// TODO: keep the spell checking as it was.
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_spf);
clear_string_option(&curwin->w_s->b_p_spl);
+ clear_string_option(&curwin->w_s->b_p_spo);
#endif
clear_string_option(&curwin->w_s->b_syn_isk);
}
diff --git a/src/testdir/test_syntax.vim b/src/testdir/test_syntax.vim
index cd06892..8a02185 100644
--- a/src/testdir/test_syntax.vim
+++ b/src/testdir/test_syntax.vim
@@ -428,7 +428,11 @@
call setline(1, '#define FOO')
syntax on
set filetype=c
+
ownsyntax perl
+ " this should not crash
+ set
+
call assert_equal('perlComment', synIDattr(synID(line('.'), col('.'), 1), 'name'))
call assert_equal('c', b:current_syntax)
call assert_equal('perl', w:current_syntax)
diff --git a/src/version.c b/src/version.c
index 0d0ea4d..a59b82d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1678,
+/**/
1677,
/**/
1676,