Commit 59a84fd
fix: bound the lexer mutator loop instead of a broken guard
The "saw mutator twice" guard could never fire: its seen map was
declared after the restart label, so every goto reset it. It also
cannot simply be hoisted, because splicing nested includes copies
rules and legitimately reprocesses the same mutator pointer in
other states. Replace it with an iteration bound, which also
catches include cycles that previously span forever.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1 parent 01c3eff commit 59a84fd
1 file changed
Lines changed: 6 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
353 | 353 | | |
354 | 354 | | |
355 | 355 | | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
356 | 359 | | |
357 | | - | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
358 | 363 | | |
359 | 364 | | |
360 | 365 | | |
361 | 366 | | |
362 | | - | |
363 | | - | |
364 | | - | |
365 | | - | |
366 | 367 | | |
367 | 368 | | |
368 | 369 | | |
| |||
0 commit comments