Repository navigation
Fix pst's frames, reload after a deleted file, and risky traces - #31
Merged
Merged
Conversation
Without cider-nrepl, the frames of what runs the code went by a pattern that wanted clojure.main/, while the REPL's are clojure.main$repl and the like, so twelve of fourteen frames were the REPL's own. They now go by the classes orchard goes by, the REPL's eval and apply among them, for every server's frames, which takes care of bb's cider-nrepl ones too. cider-nrepl takes a frame for a duplicate of the one before by its file and line, which a REPL's functions all share, so pst never showed the outer of two functions defined at the REPL. Its dup flag goes, and neorepl's own goes by the class, which tells a function's anonymous fns apart, or by the var, for bb's frames, named after their vars.
cider-nrepl's refresh keeps a namespace whose file was deleted on its list, so every refresh after failed to find it, until the server restarted. When the namespace it can't find is the one it was reloading, reload now has cider-nrepl forget them all, with refresh-clear, and tries again. Not for a namespace one of them requires, which forgetting would only reload the whole project for. ask keeps the responses in its error for that.
Tracing clojure.core/map, or anything else cider-nrepl, orchard and nREPL call, traced the tracing too, and took the server down. trace now looks the name up first and won't, saying why. Macros go on to the server as before, which won't trace them, and untracing is always fine.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
pstshowed the REPL's own frames when the server had no cider-nrepl. With cider-nrepl and bb it hid the outer of two functions defined at the REPL, because cider-nrepl's duplicate flag goes by file and line. neorepl now does its own flagging on every server. The other commits getreloadworking again after a namespace's file is deleted, usingrefresh-clearonly in that case, and stop,tracefrom tracing what the tooling itself calls, which took the server down.