diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-04-13 22:12:50 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2023-04-13 22:12:50 +0100 |
commit | b7f6f93475a3ad5c590a09a2577fd51590bea9e1 (patch) | |
tree | f910fd7a0482e33ccd0cd1f286c2c9b1b745d9b9 | |
parent | aa7f25ebf16b8be99239af1134b441e3da93060a (diff) | |
download | vim-git-b7f6f93475a3ad5c590a09a2577fd51590bea9e1.tar.gz |
patch 9.0.1452: code using EVAL_CONSTANT is dead, it is never setv9.0.1452
Problem: Code using EVAL_CONSTANT is dead, it is never set.
Solution: Remove EVAL_CONSTANT. (closes #12252)
-rw-r--r-- | src/eval.c | 14 | ||||
-rw-r--r-- | src/structs.h | 3 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 8 insertions, 11 deletions
diff --git a/src/eval.c b/src/eval.c index 37b50c38e..0163ccc85 100644 --- a/src/eval.c +++ b/src/eval.c @@ -2358,7 +2358,7 @@ eval_func( // Need to make a copy, in case evaluating the arguments makes // the name invalid. s = vim_strsave(s); - if (s == NULL || (evaluate && (*s == NUL || (flags & EVAL_CONSTANT)))) + if (s == NULL || (evaluate && *s == NUL)) ret = FAIL; else { @@ -2647,7 +2647,6 @@ eval0_retarg( char_u *expr_end; int did_emsg_before = did_emsg; int called_emsg_before = called_emsg; - int flags = evalarg == NULL ? 0 : evalarg->eval_flags; int check_for_end = retarg == NULL; int end_error = FALSE; @@ -2692,7 +2691,6 @@ eval0_retarg( if (!aborting() && did_emsg == did_emsg_before && called_emsg == called_emsg_before - && (flags & EVAL_CONSTANT) == 0 && (!in_vim9script() || !vim9_bad_comment(p))) { if (end_error) @@ -2807,7 +2805,7 @@ eval1(char_u **arg, typval_T *rettv, evalarg_T *evalarg) } *arg = skipwhite_and_linebreak(*arg + 1, evalarg_used); evalarg_used->eval_flags = (op_falsy ? !result : result) - ? orig_flags : orig_flags & ~EVAL_EVALUATE; + ? orig_flags : (orig_flags & ~EVAL_EVALUATE); if (eval1(arg, &var2, evalarg_used) == FAIL) { evalarg_used->eval_flags = orig_flags; @@ -2856,7 +2854,7 @@ eval1(char_u **arg, typval_T *rettv, evalarg_T *evalarg) } *arg = skipwhite_and_linebreak(*arg + 1, evalarg_used); evalarg_used->eval_flags = !result ? orig_flags - : orig_flags & ~EVAL_EVALUATE; + : (orig_flags & ~EVAL_EVALUATE); if (eval1(arg, &var2, evalarg_used) == FAIL) { if (evaluate && result) @@ -2960,7 +2958,7 @@ eval2(char_u **arg, typval_T *rettv, evalarg_T *evalarg) } *arg = skipwhite_and_linebreak(*arg + 2, evalarg_used); evalarg_used->eval_flags = !result ? orig_flags - : orig_flags & ~EVAL_EVALUATE; + : (orig_flags & ~EVAL_EVALUATE); if (eval3(arg, &var2, evalarg_used) == FAIL) return FAIL; @@ -3086,7 +3084,7 @@ eval3(char_u **arg, typval_T *rettv, evalarg_T *evalarg) } *arg = skipwhite_and_linebreak(*arg + 2, evalarg_used); evalarg_used->eval_flags = result ? orig_flags - : orig_flags & ~EVAL_EVALUATE; + : (orig_flags & ~EVAL_EVALUATE); CLEAR_FIELD(var2); if (eval4(arg, &var2, evalarg_used) == FAIL) return FAIL; @@ -4279,8 +4277,6 @@ eval9( *arg = skipwhite(*arg); ret = eval_func(arg, evalarg, s, len, rettv, flags, NULL); } - else if (flags & EVAL_CONSTANT) - ret = FAIL; else if (evaluate) { // get the value of "true", "false", etc. or a variable diff --git a/src/structs.h b/src/structs.h index 950013908..3c52a6397 100644 --- a/src/structs.h +++ b/src/structs.h @@ -2102,9 +2102,8 @@ typedef struct { char_u *eval_tofree_lambda; } evalarg_T; -// Flags for expression evaluation. +// Flag 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 /* diff --git a/src/version.c b/src/version.c index e55ff4a90..6bbf3d0a3 100644 --- a/src/version.c +++ b/src/version.c @@ -696,6 +696,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1452, +/**/ 1451, /**/ 1450, |