● Every repro from the issue now works. Issue #19 is fixed. #24
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
navicore/patch-prolog!24
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-19"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
#19
Summary:
parse_primary. When the current token is one of the operator kinds (Plus, Minus, Star, Slash, IntDiv,
Lt/Gt/Lte/Gte, Equals, NotEquals, TermEq/TermNeq, ArithEq/ArithNeq, Is, Mod, Rem, Not (+), Arrow (->),
Semicolon) AND the next token is a closing context (), ], ,, |, ., EOF), the operator is consumed as an atom.
Otherwise the parser falls through to existing behavior — preserving prefix - on numerals, prefix + for +
Goal, and all existing infix paths.
infix 1 + 2 unchanged, prefix -3 unchanged, and the full =.. round-trip from the issue body.
Swapped to a stray ] token, which is unambiguously still invalid.
Note: + as a prefix operator on variables/compounds (e.g. +X) is still not supported — out of scope for this
issue. Bare-atom usage of , (p(,)) also still requires quoting (p(',')), which matches SWI's behavior.