X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/c90cf42d7ce0e529af677e082ab651180339084b..15d5e36ea38988084584639b02aafcaaa2744dcf:/blib2to3/pgen2/driver.py diff --git a/blib2to3/pgen2/driver.py b/blib2to3/pgen2/driver.py index eabc72b..5cdd2e5 100644 --- a/blib2to3/pgen2/driver.py +++ b/blib2to3/pgen2/driver.py @@ -69,7 +69,7 @@ class Driver(object): if debug: self.logger.debug("%s %r (prefix=%r)", token.tok_name[type], value, prefix) - if type == token.DEDENT: + if type in {token.INDENT, token.DEDENT}: _prefix = prefix prefix = "" if p.addtoken(type, value, (prefix, start)): @@ -77,7 +77,13 @@ class Driver(object): self.logger.debug("Stop.") break prefix = "" - if type == token.DEDENT: + if type == token.INDENT: + if _prefix.startswith(value): + # Don't double-indent. Since we're delaying the prefix that + # would normally belong to INDENT, we need to put the value + # at the end versus at the beginning. + _prefix = _prefix[len(value):] + value + if type in {token.INDENT, token.DEDENT}: prefix = _prefix lineno, column = end if value.endswith("\n"):