Repository navigation
fix: recognize keywords across long line continuations - #23
Open
everton-dgn wants to merge 1 commit into
Open
everton-dgn wants to merge 1 commit into
everton-dgn wants to merge 1 commit into
Conversation
A reserved word split by enough escaped newlines can exceed the lexer's physical length cutoff. For example, `if` with eight continuations is parsed as a command instead of an if statement. Remove that cutoff when materializing an eligible non-raw word. The logical keyword length check and the guards for quoting and expansions remain in place. The new cases cover the old boundary, longer continuations, offsets and non-keyword controls, with Bash checking syntax and execution before and after printing. Validation: all 2,075 tests passed on Node 24, and the 16 focused tests passed as compiled JavaScript on Node 20. Build, type checks, lint, formatting and the Node 24 runtime smoke passed. The Node 14 smoke could not run locally because the available binary is x86_64 and this host is arm64; that CI check remains outstanding.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A reserved word split by enough escaped newlines can exceed the lexer's physical length cutoff. For example,
ifwith eight continuations is parsed as a command instead of an if statement.Remove that cutoff when materializing an eligible non-raw word. The logical keyword length check and the guards for quoting and expansions remain in place. The new cases cover the old boundary, longer continuations, offsets and non-keyword controls, with Bash checking syntax and execution before and after printing.
Validation: all 2,075 tests passed on Node 24, and the 16 focused tests passed as compiled JavaScript on Node 20. Build, type checks, lint, formatting and the Node 24 runtime smoke passed. The Node 14 smoke could not run locally because the available binary is x86_64 and this host is arm64; that CI check remains outstanding.