Skip to content

REPL: Use event to orchestrate precompilation script#60240

Merged
IanButterworth merged 2 commits intoJuliaLang:masterfrom
IanButterworth:ib/loading_debug
Dec 5, 2025
Merged

REPL: Use event to orchestrate precompilation script#60240
IanButterworth merged 2 commits intoJuliaLang:masterfrom
IanButterworth:ib/loading_debug

Conversation

@IanButterworth
Copy link
Copy Markdown
Member

@IanButterworth IanButterworth commented Nov 25, 2025

Fixes #60239

  • Make building the stdlibs throw if they error(!).. I believe they used to but regressed somewhere.. Make stdlib precompile failures throw #60308
  • Add a prompt Base.event to REPL and use it to orchestrate the precompile script, rather than awkwardly reading for prompt prints

@IanButterworth IanButterworth added the DO NOT MERGE Do not merge this PR! label Nov 25, 2025
@IanButterworth IanButterworth force-pushed the ib/loading_debug branch 2 times, most recently from ea2521d to c056aa0 Compare November 29, 2025 12:52
@IanButterworth

This comment was marked as resolved.

@IanButterworth

This comment was marked as resolved.

@IanButterworth IanButterworth removed the DO NOT MERGE Do not merge this PR! label Nov 30, 2025
@IanButterworth IanButterworth changed the title debug: always show precompile message Fix throwing when stdlibs don't build. REPL precomp script fixes Nov 30, 2025
@IanButterworth IanButterworth marked this pull request as ready for review November 30, 2025 00:20
@IanButterworth IanButterworth added building Build system, or building Julia or its dependencies REPL Julia's REPL (Read Eval Print Loop) labels Nov 30, 2025
@IanButterworth IanButterworth force-pushed the ib/loading_debug branch 3 times, most recently from df26e37 to 0c2430a Compare November 30, 2025 02:54
@IanButterworth IanButterworth requested a review from Keno November 30, 2025 12:59
@Keno
Copy link
Copy Markdown
Member

Keno commented Nov 30, 2025

What was the actual reason that the precompile script failed? I actually generally liked the reading of the tty since it most closely replicated the actual user experience.

@IanButterworth
Copy link
Copy Markdown
Member Author

Some syncing issue. I couldn't figure it out and got fed up with the text matching approach.

Checking the output text for test purposes sounds fair but for precompile purposes this seems more robust and maybe faster?

@IanButterworth
Copy link
Copy Markdown
Member Author

It'd be good to get the strict change in and backported. @Keno I'll split that out if the other changes aren't persuasive.

@Keno
Copy link
Copy Markdown
Member

Keno commented Dec 2, 2025

Yeah, let's do that. I'm not sure I have a particularly strong objection to the condition, it just seems iffy to have a special case there in something that is supposed to emulate actual usage. I can't think of a real practical issue though.

@IanButterworth IanButterworth changed the title Fix throwing when stdlibs don't build. REPL precomp script fixes REPL precomp script fixes Dec 3, 2025
@IanButterworth
Copy link
Copy Markdown
Member Author

Perhaps a 2nd opinion would help. @vtjnash?

@IanButterworth IanButterworth changed the title REPL precomp script fixes REPL precompilation script fixes Dec 3, 2025
@IanButterworth IanButterworth changed the title REPL precompilation script fixes REPL: Use event to orchestrate precompilation script Dec 4, 2025
@IanButterworth IanButterworth requested a review from xal-0 December 5, 2025 18:27
@xal-0
Copy link
Copy Markdown
Member

xal-0 commented Dec 5, 2025

👍 to this change, as well as keeping the debug output around by default. Long-term I'd like to make the REPL static enough to be precompiled entirely with precompile statements for public functions, but that needs #60259 to be merged, as well as a fix for #60303.

@IanButterworth
Copy link
Copy Markdown
Member Author

as well as keeping the debug output around by default

This also makes debugging a lot easier by printing all the debug stuff on error.

@IanButterworth
Copy link
Copy Markdown
Member Author

Thanks. I'll go ahead to get builds green again.

@IanButterworth IanButterworth merged commit 3a274d5 into JuliaLang:master Dec 5, 2025
11 of 13 checks passed
@IanButterworth IanButterworth deleted the ib/loading_debug branch December 5, 2025 20:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

building Build system, or building Julia or its dependencies REPL Julia's REPL (Read Eval Print Loop)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

REPL being precompiled during REPL tests, and fails to precompile

3 participants