Mercurial > vim
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];