summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/syntax.c2
-rw-r--r--src/testdir/test_syntax.vim4
-rw-r--r--src/version.c2
3 files changed, 8 insertions, 0 deletions
diff --git a/src/syntax.c b/src/syntax.c
index ccdb2030c..6025889b2 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -6316,9 +6316,11 @@ ex_ownsyntax(exarg_T *eap)
#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 cd0689273..8a021851f 100644
--- a/src/testdir/test_syntax.vim
+++ b/src/testdir/test_syntax.vim
@@ -428,7 +428,11 @@ func Test_ownsyntax()
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 0d0ea4dd8..a59b82dd8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1678,
+/**/
1677,
/**/
1676,