vim-patch:8.2.2289: Vim9: 'cpo' can become empty (#19887)

Problem:    Vim9: 'cpo' can become empty.
Solution:   Use empty_option instead of an empty string.  Update quickfix
            buffer after restoring 'cpo'.  (closes vim/vim#7608)
e5a2dc87fd

Omit test as it is Vim9 script.
This commit is contained in:
zeertzjq
2022-08-22 12:02:45 +08:00
committed by GitHub
parent d5cc161dea
commit 4f6d0d6da9
5 changed files with 30 additions and 9 deletions

View File

@@ -5070,7 +5070,7 @@ static char_u *get_syn_pattern(char_u *arg, synpat_T *ci)
// Make 'cpoptions' empty, to avoid the 'l' flag
cpo_save = p_cpo;
p_cpo = "";
p_cpo = (char *)empty_option;
ci->sp_prog = vim_regcomp((char *)ci->sp_pattern, RE_MAGIC);
p_cpo = cpo_save;
@@ -5231,7 +5231,7 @@ static void syn_cmd_sync(exarg_T *eap, int syncing)
// Make 'cpoptions' empty, to avoid the 'l' flag
cpo_save = p_cpo;
p_cpo = "";
p_cpo = (char *)empty_option;
curwin->w_s->b_syn_linecont_prog =
vim_regcomp((char *)curwin->w_s->b_syn_linecont_pat, RE_MAGIC);
p_cpo = cpo_save;