From: <md...@us...> - 2007-08-27 19:32:41
|
Revision: 3740 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=3740&view=rev Author: mdboom Date: 2007-08-27 12:32:38 -0700 (Mon, 27 Aug 2007) Log Message: ----------- Better mathtext error messages. Fix bug when using \sqrt without explicit root. Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/mathtext.py Modified: trunk/matplotlib/lib/matplotlib/mathtext.py =================================================================== --- trunk/matplotlib/lib/matplotlib/mathtext.py 2007-08-27 18:51:22 UTC (rev 3739) +++ trunk/matplotlib/lib/matplotlib/mathtext.py 2007-08-27 19:32:38 UTC (rev 3740) @@ -1932,7 +1932,14 @@ def parse(self, s, fonts_object, fontsize, dpi): self._state_stack = [self.State(fonts_object, 'default', fontsize, dpi)] - self._expression.parseString(s) + try: + self._expression.parseString(s) + except ParseException, err: + raise ValueError("\n".join([ + "", + err.line, + " " * (err.column - 1) + "^", + str(err)])) return self._expr # The state of the parser is maintained in a stack. Upon @@ -2155,7 +2162,7 @@ super = next1 sub = next2 else: - raise ParseFatalException("Subscript/superscript sequence is too long.") + raise ParseFatalException("Subscript/superscript sequence is too long. Use braces { } to remove ambiguity.") state = self.get_state() rule_thickness = state.font_output.get_underline_thickness( @@ -2277,7 +2284,7 @@ state.font, state.fontsize, state.dpi) if root is None: - root = Box() + root = Box(0., 0., 0.) else: if not isinstance(root, ParseResults): raise ParseFatalException( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |