-
Notifications
You must be signed in to change notification settings - Fork 111
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
Rewrite based on lowered code #243
Conversation
This massive change is intended to make Revise far more robust at identifying method-signatures. The lowered code makes it easy to identify constructs that create new methods.
Plots has changed its internals. This seems inevitable, so eventually we'll have to replace these "use another package" tests with a crafted example here.
In the rewrite I've seen some cases of inappropriate deletion. It's not certain this will prevent them, but it seems likely.
… channel This should fix #195
Do you get the warnings with |
I don't. |
Solve the interpreter variant of julia issue 265
I get the following warnings:
|
It's probably a world-age issue in that you're defining methods and then doing stuff with them. But commenting out the warning seems to let things run properly anyway... Not quite sure what to do here. |
Oh wait, that warning had a mistake (from #243 (comment)), it's probably leading us to a real bug... |
5989e03
to
8862639
Compare
Am I correct that this means that for a |
Sorry about the troubles. First, there is the Revise 1 branch, currently at 1.1.1. That does not use JuliaInterpreter. Second, if building your package involves a lot of work that's done outside of an |
It's a private package. I just filed an issue without seeing this comment, I'll try 1.1.1. Thank you for the help offer, and for all the work on Revise! |
This PR rewrites the package around JuliaInterpreter, which it uses to do much deeper analysis of the methods that get defined by code. A particularly noteworthy change is that it can now dive into methods defined via
@eval
, and it is finally able to handle kwarg functions robustly. The goal is to make Revise better at understanding the origin of methods and therefore better at deleting expunged ones and managing CodeTracking.jl's state for consumption by others.This is a "developer preview" for upcoming changes. You need the following packages (probably in dev mode, and updated frequently):
Automatic revision is currently disabled; just manually execute
revise()
whenever you want to update. (It's much easier to debug failures if they're not running in a separate task.)Still to do: