##// END OF EJS Templates
Some propose fixes....
Matthias Bussonnier -
Show More
@@ -418,6 +418,8 b' class HelpEnd(TokenTransformBase):'
418 418 lines_after = lines[self.q_line + 1:]
419 419
420 420 m = _help_end_re.search(content)
421 if not m:
422 raise SyntaxError(content)
421 423 assert m is not None, content
422 424 target = m.group(1)
423 425 esc = m.group(3)
@@ -460,6 +462,8 b' def make_tokens_by_line(lines):'
460 462 except tokenize.TokenError:
461 463 # Input ended in a multiline string or expression. That's OK for us.
462 464 pass
465 if not tokens_by_line[-1]:
466 tokens_by_line.pop()
463 467
464 468 return tokens_by_line
465 469
@@ -524,6 +528,9 b' class TransformerManager:'
524 528 return False, lines
525 529
526 530 transformer = min(candidates, key=TokenTransformBase.sortby)
531 transformed = transformer.transform(lines)
532 if transformed is None:
533 return False, lines
527 534 return True, transformer.transform(lines)
528 535
529 536 def do_token_transforms(self, lines):
@@ -591,10 +598,13 b' class TransformerManager:'
591 598 return 'invalid', None
592 599
593 600 tokens_by_line = make_tokens_by_line(lines)
601 if not tokens_by_line:
602 return 'incomplete', find_last_indent(lines)
594 603 if tokens_by_line[-1][-1].type != tokenize.ENDMARKER:
595 604 # We're in a multiline string or expression
596 605 return 'incomplete', find_last_indent(lines)
597
606 if len(tokens_by_line) == 1:
607 return 'incomplete', find_last_indent(lines)
598 608 # Find the last token on the previous line that's not NEWLINE or COMMENT
599 609 toks_last_line = tokens_by_line[-2]
600 610 ix = len(toks_last_line) - 1
General Comments 0
You need to be logged in to leave comments. Login now