Skip to content

DELETE and RECALL with IN take the clauses in any order - #2174

Merged
RobertvanderHulst merged 1 commit into
devfrom
feature/vfp-scope-in-alias
Nov 14, 2026
Merged

RobertvanderHulst merged 1 commit into
devfrom
feature/vfp-scope-in-alias

Conversation

@Irwin1985

Copy link
Copy Markdown
Contributor

These didn't compile:

DELETE ALL FOR x > 1 IN t
DELETE NEXT 2 FOR x > 1 IN t
DELETE REST WHILE x > 1 IN t
RECALL ALL FOR x > 1 IN t

VFP takes the clauses in any order. Our rules for DELETE and RECALL with IN only matched when the clauses came in the order of the rule. The preprocessor accepts the optional clauses in any order only when nothing mandatory follows them, and IN does.

I added rules that move the IN clause to the front, and from there the existing rules take the rest. Nothing else changes, I compared the preprocessor output of all the test sources before and after.

LOCATE ... IN is not touched, VFP doesn't accept it. REPLACE with NEXT or REST before FOR and IN still fails, that one needs its own fix.

Ten tests added, with the values measured in VFP 9.

DELETE ALL FOR x IN t, DELETE NEXT 2 FOR x IN t, RECALL REST WHILE x IN t
and similar didn't compile: the rules with IN only matched when the
clauses came in the order of the rule. New rules move the IN clause to
the front and the existing ones take the rest. Ten tests added.
@RobertvanderHulst
RobertvanderHulst merged commit 085365c into dev Nov 14, 2026
1 check passed
@RobertvanderHulst
RobertvanderHulst deleted the feature/vfp-scope-in-alias branch November 14, 2026 13:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants