beam: fix safe_eval chained unary signs (--2, +-3) by recursing factor

This commit is contained in:
beam committed 2026-10-24 01:26:32 +00:00
1 parent f92e531ebd
commit 0d3eef6298
1 file changed
+1 -1
+1 -1
View File
@@ -164,7 +164,7 @@ class _Parser:
def factor(self):
if self.peek()[0] == _OP and self.peek()[1] in ("+", "-"):
op = self.advance()[1]
val = self.power() # unary lower precedence than ** (python semantics)
val = self.factor() # recurse so chained signs (--2, +--3) parse
return -val if op == "-" else val
return self.power()