X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/e74117f172e29e8a980e2c9de929ad50d3769150..68cc9786d3db15339b9748582e43876392fd4122:/blib2to3/pgen2/driver.py diff --git a/blib2to3/pgen2/driver.py b/blib2to3/pgen2/driver.py index cbc58e7..5cdd2e5 100644 --- a/blib2to3/pgen2/driver.py +++ b/blib2to3/pgen2/driver.py @@ -69,11 +69,22 @@ class Driver(object): if debug: self.logger.debug("%s %r (prefix=%r)", token.tok_name[type], value, prefix) + if type in {token.INDENT, token.DEDENT}: + _prefix = prefix + prefix = "" if p.addtoken(type, value, (prefix, start)): if debug: self.logger.debug("Stop.") break prefix = "" + 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"): lineno += 1