diff src/vim9expr.c @ 34615:3a3f13bac124 v9.1.0197

patch 9.1.0197: Vim9: problem evaluating negated boolean logic Commit: https://github.com/vim/vim/commit/5d77364e4afe69b28f6d8b3493595c5c6fc056b8 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Fri Mar 22 19:37:29 2024 +0100 patch 9.1.0197: Vim9: problem evaluating negated boolean logic Problem: Vim9: problem evaluating negated boolean logic (lxhillwind) Solution: Don't clear the first value on short circuit evaluation (Yegappan Lakshmanan) fixes: #14265 closes: #14269 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Fri, 22 Mar 2024 20:00:04 +0100
parents 5c1a025192ed
children 5b25ec43f208
line wrap: on
line diff
--- a/src/vim9expr.c
+++ b/src/vim9expr.c
@@ -2779,7 +2779,7 @@ compile_expr9(
     if (compile_subscript(arg, cctx, start_leader, &end_leader,
 							     ppconst) == FAIL)
 	return FAIL;
-    if (ppconst->pp_used > 0)
+    if ((ppconst->pp_used > 0) && (cctx->ctx_skip != SKIP_YES))
     {
 	// apply the '!', '-' and '+' before the constant
 	rettv = &ppconst->pp_tv[ppconst->pp_used - 1];