1
0
forked from aniani/vim

patch 8.2.1047: Vim9: script cannot use line continuation like :def function

Problem:    Vim9: script cannot use line continuation like in a :def function.
Solution:   Pass the getline function pointer to the eval() functions.  Use it
            for addition and multiplication operators.
This commit is contained in:
Bram Moolenaar
2020-06-24 18:37:35 +02:00
parent b7e2483655
commit 5409f5d8c9
15 changed files with 300 additions and 111 deletions

View File

@@ -1746,6 +1746,19 @@ typedef struct
# endif
} scriptitem_T;
// Struct passed through eval() functions.
// See EVALARG_EVALUATE for a fixed value with eval_flags set to EVAL_EVALUATE.
typedef struct {
int eval_flags; // EVAL_ flag values below
// copied from exarg_T when "getline" is "getsourceline". Can be NULL.
void *eval_cookie; // argument for getline()
} evalarg_T;
// Flags for expression evaluation.
#define EVAL_EVALUATE 1 // when missing don't actually evaluate
#define EVAL_CONSTANT 2 // when not a constant return FAIL
# ifdef FEAT_PROFILE
/*
* Struct used in sn_prl_ga for every line of a script.