Skip to content

Conversation

@timholy
Copy link
Owner

@timholy timholy commented Jul 28, 2025

Recent versions of Julia have changed the expression to

julia> 1+1
:($(Expr(:toplevel, :(#= REPL[5]:1 =#), quote
    $(Expr(:softscope, true))
    1 + 1
end)))
2

Fixes #887

timholy added 2 commits July 28, 2025 04:12
Recent versions of Julia have changed the expression to

```
julia> 1+1
:($(Expr(:toplevel, :(#= REPL[5]:1 =#), quote
    $(Expr(:softscope, true))
    1 + 1
end)))
2
```

Fixes #887
@timholy timholy merged commit 5a7fb1c into master Jul 28, 2025
13 of 14 checks passed
@timholy timholy deleted the teh/exit_check branch July 28, 2025 10:40
@MilesCranmer
Copy link

Thanks for the fix!! (Maybe worth having a regression test in case it changes again? Though I know I'm asking for extra work... Just might be useful to prevent needing to debug this in the future. Might end up saving you more time...)

@timholy
Copy link
Owner Author

timholy commented Jul 28, 2025

It's not easy to test...I'd have to set up a fake REPL. Contributions welcome.

@timholy
Copy link
Owner Author

timholy commented Jul 28, 2025

If you do ever notice it regressing, just add display(ex) to revise_first and see what changed, then submit a PR.

@MilesCranmer
Copy link

I think the Linux expect tool is great for this kinda thing. For example one could solve this with:

  1. an environment variable set by the tests,
  2. => read as a static const DEBUGGING_REPL_EXIT = get(ENV, ...),
  3. => enable some kind of tracking around the exit code that gets removed by the compiler otherwise

Then, a REPL test could use Linux expect to: (1) boot up the REPL, then once the prompt appears; (2) trigger an enormous number of code changes (somehow); (3) write "exit()" in the REPL and time (?) the exit time. Or something

In any case, I'm also facing an extreme time deficit so I suppose we shall need to wait for a hero to see this thread and take it up...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

loading revise on 1.11 releases leads to very slow exiting of REPL

3 participants