# HG changeset patch # User William Astle # Date 1703826032 25200 # Node ID cddbe8bc07e5a20a9b45173548896155f6c7a80a # Parent 053fd2fb92e8a46b2003a88c6366c98ac8b6c2fa Don't clobber operator precedence flag when evaluating the starting term diff -r 053fd2fb92e8 -r cddbe8bc07e5 src/expr.s --- a/src/expr.s Wed Dec 27 19:30:19 2023 -0700 +++ b/src/expr.s Thu Dec 28 22:00:32 2023 -0700 @@ -12,7 +12,9 @@ ; ; The special handling for relational operators is required because Basic allows them in all eval_expr clrb ; flag previous operator as minimum precdence (end of expression) -eval_expraux jsr eval_term ; evaluate the first term of the expression +eval_expraux pshs b ; save precedence flag + jsr eval_term ; evaluate the first term of the expression + puls b ; get back operator precedence flag eval_expr0 jsr curchar ; fetch current input beq eval_expr1 ; brif end of expression - we're done cmpa #tok_or ; is it above operators?