mercurial/parser.py
changeset 31484 afb335353d28
parent 31353 089e37802fb3
child 31920 a98540ea1e42
equal deleted inserted replaced
31483:291951ad070b 31484:afb335353d28
    17 # __call__(program) parses program into a labeled tree
    17 # __call__(program) parses program into a labeled tree
    18 
    18 
    19 from __future__ import absolute_import
    19 from __future__ import absolute_import
    20 
    20 
    21 from .i18n import _
    21 from .i18n import _
    22 from . import error
    22 from . import (
       
    23     error,
       
    24     util,
       
    25 )
    23 
    26 
    24 class parser(object):
    27 class parser(object):
    25     def __init__(self, elements, methods=None):
    28     def __init__(self, elements, methods=None):
    26         self._elements = elements
    29         self._elements = elements
    27         self._methods = methods
    30         self._methods = methods
   162         args[k] = x[2]
   165         args[k] = x[2]
   163     return args
   166     return args
   164 
   167 
   165 def unescapestr(s):
   168 def unescapestr(s):
   166     try:
   169     try:
   167         return s.decode("string_escape")
   170         return util.unescapestr(s)
   168     except ValueError as e:
   171     except ValueError as e:
   169         # mangle Python's exception into our format
   172         # mangle Python's exception into our format
   170         raise error.ParseError(str(e).lower())
   173         raise error.ParseError(str(e).lower())
   171 
   174 
   172 def _prettyformat(tree, leafnodes, level, lines):
   175 def _prettyformat(tree, leafnodes, level, lines):