reenable precompilation progress output even in non-interactive mode#61064
reenable precompilation progress output even in non-interactive mode#61064KristofferC wants to merge 1 commit intomasterfrom
Conversation
|
This introduces a regression into our tests output, which needs to be corrected before merging. We can change the noisiness heuristics here, but it needs to be done in a way that avoids printing output from the background to avoid fighting for the terminal, like from a script or other usages like that, including Pkg.precompile after #60943: |
That sounds sensible, but how do we distinguish distinguish "background" non-interactive executions vs. "foreground" (e.g. CLI tools / Pkg app wrappers)? Do we need to go by the |
|
Maybe we should track the controlling terminal in the ScopedValue, just like unix? |
How does an (in-process) ScopedValue help with sharing the terminal across processes? Where does "control" transfer? |
|
After a talk with @vtjnash , I think we clarified the request / idea: @vtjnash agreed that these are OK to print if the user is "at the keyboard" and directly issued the command that's precompiling, but he wants to avoid clogging sub-process / script output with them. In particular, these messages can cause errors if your script calls Julia or a Julia-based app, but doesn't expect the "Precompiling..." message. The requirement then is to avoid adding this printing for non-interactive "background" / "child" processes (intentionally left a bit hand-wavey). The main idea we discussed was to add a Long story short, we think that the simplest thing to do here may be to disable this logging in
and |
I think this gets printed to stderr. |
That avoids some issues, but I still think it's fair that we support a mode that leaves all IO to the user-level Julia application, incl. |
Fixes #59924