1
0
forked from aniani/vim

patch 9.0.1164: evaluating string expression advances function line

Problem:    Evaluating string expression advances function line.
Solution:   Disable function lines while parsing a string expression.
            (Hirohito Higashi, closes #11796)
This commit is contained in:
h-east
2023-01-09 15:10:40 +00:00
committed by Bram Moolenaar
parent dda3053121
commit 01c5f2addf
3 changed files with 21 additions and 0 deletions

View File

@@ -733,7 +733,15 @@ compile_string(isn_T *isn, cctx_T *cctx, int str_offset)
cctx->ctx_instr.ga_len = 0;
cctx->ctx_instr.ga_maxlen = 0;
cctx->ctx_instr.ga_data = NULL;
// avoid peeking a next line
int galen_save = cctx->ctx_ufunc->uf_lines.ga_len;
cctx->ctx_ufunc->uf_lines.ga_len = 0;
expr_res = compile_expr0(&s, cctx);
cctx->ctx_ufunc->uf_lines.ga_len = galen_save;
s = skipwhite(s);
trailing_error = *s != NUL;