Fix problem with let using attributes of {} when they should be null #1030
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.
The current
disassembleToken()
andassembleToken()
methods produce a new token whose attributes are{}
when the original hadnull
attributes. This has implications for some tokens where the difference between these are important, as in themathchar7
function atMathJax-src/ts/input/tex/ParseMethods.ts
Lines 156 to 165 in ae389de
where line 157 provides a default attribute list when
math.attributes
isnull
(but not if it is an empty object).This leads to the loss of the default attributes when a new control sequence is
\let
equal to one that usesmathchar7
, as inwhere the result of
\percent
will be in italics, while\%
will not.This PR resolves the issue by actually eliminating
disassembleToken()
andassembleToken()
and just using the original token directly in themethod
at new line 137 (via the same closure that preservesmap
).