Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ExprSplitter not defined #537

Closed
AsafManela opened this issue Sep 18, 2020 · 3 comments
Closed

ExprSplitter not defined #537

AsafManela opened this issue Sep 18, 2020 · 3 comments

Comments

@AsafManela
Copy link

I keep getting these errors after changing a file within a module (InfoVal).
Upgrading to Revise 3.1.1 did not help (I was on the revise3 branch before).
Any thoughts?

┌ Error: Failed to revise /home/amanela/.julia/dev/InfoVal/src/analysis.jl
│   exception =
│    UndefVarError: ExprSplitter not defined
│    Stacktrace:
│     [1] parse_source!(::OrderedCollections.OrderedDict{Module,OrderedCollections.OrderedDict{Revise.RelocatableExpr,Union{Nothing, Array{Any,1}}}}, ::String, ::String, ::Module; mode::Symbol) at /home/amanela/.julia/packages/Revise/XxhNP/src/parsing.jl:47
└ @ Revise ~/.julia/packages/Revise/XxhNP/src/Revise.jl:705
┌ Warning: The running code does not match the saved version for the following files:
│ 
│   /home/amanela/.julia/dev/InfoVal/src/analysis.jl
│ 
│ If the error was due to evaluation order, it can sometimes be resolved by calling `Revise.retry()`.
│ Use Revise.errors() to report errors again. Only the first error in each file is shown.
│ Your prompt color may be yellow until the errors are resolved.
└ @ Revise ~/.julia/packages/Revise/XxhNP/src/Revise.jl:799

My environment:

(@v1.5) pkg> st --manifest
Status `~/.julia/environments/v1.5/Manifest.toml`
  [15f4f7f2] AutoHashEquals v0.2.0
  [da1fd8a2] CodeTracking v1.0.3
  [cd3eb016] HTTP v0.8.19
  [83e8ac13] IniFile v0.5.0
  [aa1ae85d] JuliaInterpreter v0.8.1
  [89398ba2] LocalRegistry v0.3.0
  [6f1432cf] LoweredCodeUtils v1.2.0
  [739be429] MbedTLS v1.0.2
  [c8ffd9c3] MbedTLS_jll v2.16.8+0
  [99f44e22] MsgPack v1.1.0
  [bac558e1] OrderedCollections v1.3.1
  [c3e4b0f8] Pluto v0.11.14
  [d1eb7eb1] RegistryTools v1.5.3
  [295af30f] Revise v3.1.1
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [8ba89e20] Distributed
  [7b1f6079] FileWatching
  [b77e0a4c] InteractiveUtils
  [76f85450] LibGit2
  [8f399da3] Libdl
  [56ddb016] Logging
  [d6f4376e] Markdown
  [44cfe95a] Pkg
  [de0858da] Printf
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA
  [9e88b42a] Serialization
  [6462fe0b] Sockets
  [8dfed614] Test
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode
@timholy
Copy link
Owner

timholy commented Sep 18, 2020

You must be changing environments somewhere in your workflow (JuliaLang/julia#35663), otherwise this would not be possible. ExprSplitter is implemented in JuliaInterpreter 0.8; you must have some environment that is still on v0.7.

@AsafManela
Copy link
Author

Yep. I mistakenly thought that because Revise is loaded from my main 1.5 environment using the startup script that it used its JuliaInterpreter, but as you suspected, when it switched to my project it had an older JuliaInterpreter in its manifest.
Updating that project solved the issue.

Thanks for the quick response!

@rben01
Copy link

rben01 commented Jun 13, 2021

This just bit me too, on Julia 1.6 with Revise 2.7.6. I was using a different environment from the base Julia environment, and the environment I was using didn't have Revise in Project.toml. Yet, julia --project="@." in the project dir allowed me to type using Revise without issue, and then subsequent changes I made to a file in the project would lead to the warning in this issue. This kind of feels like a footgun, although I'm not even sure how I managed to load Revise in the REPL when I hadn't included it as a project dependency.

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

No branches or pull requests

3 participants