Ensure that "s" steps through wrappers #149
Merged
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.
My sense is that
"s"
should step through wrappers but"si"
should not. This adds such functionality and tests it.One thing worth pointing out is that there is a certain amount of "junk" that gets lowered into the caller: using the examples in the new tests,
but
Note that we're in the caller of a kwarg function, not the kwarg function itself. For "normal" stepping (i.e., non-advanced commands) it would be lovely to be able to automatically skip through this. The nicest way to do this would presumably be based on JuliaLang/julia#31162 each frame could also hold line-by-line references to the expression that's being lowered, then you could just go to the last call of the same expression.