]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.0.1452: code using EVAL_CONSTANT is dead, it is never set v9.0.1452
authorzeertzjq <zeertzjq@outlook.com>
Thu, 13 Apr 2023 21:12:50 +0000 (22:12 +0100)
committerBram Moolenaar <Bram@vim.org>
Thu, 13 Apr 2023 21:12:50 +0000 (22:12 +0100)
Problem:    Code using EVAL_CONSTANT is dead, it is never set.
Solution:   Remove EVAL_CONSTANT. (closes #12252)

src/eval.c
src/structs.h
src/version.c

index 37b50c38e654a6d36b1a0e2755a9e05294a6de40..0163ccc85896872c4eab4d237d55cea3ec1ee19e 100644 (file)
@@ -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
index 9500139080f8228cbd63e26ca6d180415228545f..3c52a639712f91349031ac2a442b1137101329ac 100644 (file)
@@ -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
 /*
index e55ff4a900c671356b579cd25598e0fbd108cac3..6bbf3d0a36a67db15967c96d66f852e6ab74cfb6 100644 (file)
@@ -695,6 +695,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1452,
 /**/
     1451,
 /**/