Add dependency on MacroTools to avoid Base.remove_linenums!
#258
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.
After #245, we have some
Base.remove_linenums!
scattered around. Initially I thought this was harmless, but it was not. See the followingOn master:
On this branch
Basically, macros inside
@transform
blocks might make assumptions about line number nodes, and we don't want to mess with that. I apologize for usingBase.remove_linenums!
earlier.To implement this, I finally bit the bullet and added a dependency on MacroTools.jl. It's just not worth re-inventing the wheel anymore when it comes to these sorts of issues. Every other macro package today has MacroTools as a dependency, so I might do so as well.
We do remove line numbers still, but we only do it when
unblock
-ing an expression or working with:block
-based expression, where asBase.remove_linenums!
acts recursively.I have added a testset so this should be good to merge.