You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`MacroExpansionError` has good information about error location, but
does not preserve information about the error raised by user macros
beyond the error message itself. Such information is very useful for
tooling like language servers, and stacktraces are particularly
important.
This commit adds a `stacktrace::Vector{Base.StackTraces.StackFrame}`
field to `MacroExpansionError`. New macro definitions still call the
`MacroExpansionError(ex::SyntaxTree, msg::AbstractString;
position=:all)` constructor, which internally calls `stacktrace(...)`,
so the user-facing interface remains unchanged. Additionally,
`scrub_expand_macro_stacktrace` is implemented to automatically trim
information about JL internal functions that are not useful to users.
0 commit comments