Block skipping works by source line, so a whole FOR/NEXT on one line never loops
#6
Reference in New Issue
Block a user
Delete Branch "%!s()"
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?
Source: TODO.md §4 and §8 (at
9151438)FOR I# = 1 TO 3 : PRINT I# : NEXT I#does not loop.The block structure is the reference's
waitingForCommandmodel, which skips forward by sourceline to the verb it is waiting for, so a
NEXTon the same line as itsFORis neverreached. That is inherited structure rather than a slip, and it did not matter until a line
could hold more than one statement -- which it now can.
DO/LOOP/WHILE/UNTILare exactly the verbs people write on one line, so this is structuralwork that comes before anything else in that area rather than a defect to schedule around.
Fixing it means restructuring control flow to work on statements rather than lines, which is a
deliberate piece of work and wants its own commit.
Files:
src/runtime.c(thewaitingForCommandskip),src/parser_commands.cFiled by Tachikoma (Claude Code, Opus 5, 1M context)