Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion lib/matplotlib/_mathtext.py
Original file line number Diff line number Diff line change
Expand Up @@ -1894,6 +1894,7 @@ def csnames(group, names):
p.function = csnames("name", self._function_names)

p.group = p.start_group + ZeroOrMore(p.token)("group") + p.end_group
p.unclosed_group = (p.start_group + ZeroOrMore(p.token)("group") + StringEnd())

p.frac = cmd(r"\frac", p.required_group("num") + p.required_group("den"))
p.dfrac = cmd(r"\dfrac", p.required_group("num") + p.required_group("den"))
Expand Down Expand Up @@ -1942,6 +1943,7 @@ def csnames(group, names):
p.token <<= (
p.simple
| p.auto_delim
| p.unclosed_group
| p.unknown_symbol # Must be last
)

Expand Down Expand Up @@ -2030,7 +2032,8 @@ def main(self, s, loc, toks):
return [Hlist(toks)]

def math_string(self, s, loc, toks):
return self._math_expression.parseString(toks[0][1:-1])
return self._math_expression.parseString(toks[0][1:-1],
parseAll=True)
Comment thread
QuLogic marked this conversation as resolved.
Resolved

def math(self, s, loc, toks):
hlist = Hlist(toks)
Expand Down Expand Up @@ -2250,6 +2253,9 @@ def end_group(self, s, loc, toks):
self.pop_state()
return []

def unclosed_group(self, s, loc, toks):
raise ParseFatalException(s, len(s), "Expected '}'")

def font(self, s, loc, toks):
self.get_state().font = toks["font"]
return []
Expand Down
4 changes: 3 additions & 1 deletion lib/matplotlib/tests/test_mathtext.py
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,7 @@ def test_fontinfo():
(r'$a^2^2$', r'Double superscript'),
(r'$a_2_2$', r'Double subscript'),
(r'$a^2_a^2$', r'Double superscript'),
(r'$a = {b$', r"Expected '}'"),
],
ids=[
'hspace without value',
Expand Down Expand Up @@ -347,7 +348,8 @@ def test_fontinfo():
'unknown symbol',
'double superscript',
'double subscript',
'super on sub without braces'
'super on sub without braces',
'unclosed group'
Comment thread
QuLogic marked this conversation as resolved.
Resolved
]
)
def test_mathtext_exceptions(math, msg):
Expand Down