Subject: bug#32390:

From: Carlos Pita <[email-masked]>
Date: Tue, 7 Aug 2018 17:28:01 -0300

The current condition is also failing for multiline input. Consider:

In [154]: def f():
     ...:   'ewewe
     ...:

output is "     ...:" so it's not considered just an input prompt
(because of the preceding whitespace) and so the font lock buffer is
wrongly cleaned up (indeed, this is the only case I'm able to figure
out for which you don't want to cleanup the buffer).

I think the condition should be reformulated to match any expression
that ends with an input prompt excluding a continuation prompt. This
would fix both problems:

1. An expression that is just an input prompt (for example, ansi
filtered errors) will trigger a cleanup.
2. A continuation input prompt will not be considered the start of
a new input.