Skip to content

Don't introduce a block around y in parsing x' = y#60246

Merged
JeffBezanson merged 1 commit intoJuliaLang:masterfrom
mlechu:parser-eq-postfix-func
Nov 25, 2025
Merged

Don't introduce a block around y in parsing x' = y#60246
JeffBezanson merged 1 commit intoJuliaLang:masterfrom
mlechu:parser-eq-postfix-func

Conversation

@mlechu
Copy link
Copy Markdown
Member

@mlechu mlechu commented Nov 25, 2025

Closes #59911. ' is generally treated as its own thing in Expr and flisp, but treated as a special type of call in JuliaSyntax. This change makes x' = y parse to the <=1.11 (= (|'| x) y) instead of wrapping the body in a block like we do when parsing f(x) = y.

The special case is fine to me given that it's a more understandable parse, and we're hoping to move away from LineNumberNodes in the future anyway. (I think this was the original reason for the block-wrap for f(x) = y).

Backporting will be a pain. My plan is to get this reviewed, then make a branch backports-x in the separate JuliaSyntax repository and push this change directly to it, then make a version bump PR to this repository's backports-release-x for x in 1.12, 1.13. Suggestions for how to improve this situation are welcome!

@mlechu mlechu requested a review from Keno November 25, 2025 19:44
@mlechu mlechu added parser Language parsing and surface syntax backport 1.12 Change should be backported to release-1.12 backport 1.13 Change should be backported to release-1.13 labels Nov 25, 2025
@topolarity
Copy link
Copy Markdown
Member

Backporting will be a pain. My plan is to get this reviewed, then make a branch backports-x in the separate JuliaSyntax repository and push this change directly to it, then make a version bump PR to this repository's backports-release-x for x in 1.12, 1.13. Suggestions for how to improve this situation are welcome!

That is generally how it's done - see https://github.com/JuliaLang/Pkg.jl/tree/release-1.12 + #60158 for example

@topolarity topolarity added the merge me PR is reviewed. Merge when all tests are passing label Nov 25, 2025
@JeffBezanson JeffBezanson merged commit a63cca8 into JuliaLang:master Nov 25, 2025
13 checks passed
@topolarity topolarity removed the merge me PR is reviewed. Merge when all tests are passing label Nov 25, 2025
mlechu added a commit to JuliaLang/JuliaSyntax.jl that referenced this pull request Dec 8, 2025
mlechu added a commit to JuliaLang/JuliaSyntax.jl that referenced this pull request Dec 8, 2025
@KristofferC KristofferC mentioned this pull request Dec 16, 2025
21 tasks
This was referenced Jan 9, 2026
@DilumAluthge
Copy link
Copy Markdown
Member

@mlechu @topolarity I see the backport 1.12 label on this PR. Are you planning on following the process described in #60246 (comment) (which IIUC looks like the correct process)? If so, we should remove the backport 1.12 label from this PR, so that the Backporter script doesn't try to backport it.

@mlechu
Copy link
Copy Markdown
Member Author

mlechu commented Jan 19, 2026

Thanks for the bump. This is also contained by #60641

@mlechu mlechu removed the backport 1.12 Change should be backported to release-1.12 label Jan 20, 2026
@KristofferC KristofferC mentioned this pull request Feb 4, 2026
56 tasks
@KristofferC
Copy link
Copy Markdown
Member

Needs the same process for 1.13?

@topolarity
Copy link
Copy Markdown
Member

It looks like we may have missed a case or two: #61056

@KristofferC KristofferC mentioned this pull request Mar 13, 2026
39 tasks
@KristofferC KristofferC removed the backport 1.13 Change should be backported to release-1.13 label Mar 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

parser Language parsing and surface syntax

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expression parsed differently in 1.12+

5 participants