Miranda newlines: if anything at all was written to stdout, supply a
newline at the end if there isn't one already. Expected output has no
way to indicate that a trailing newline was not expected, and in the
interpreter shell *Python* supplies the trailing newline before printing
the next prompt.
diff --git a/Lib/doctest.py b/Lib/doctest.py
index b3ef98b..9c0ecc8 100644
--- a/Lib/doctest.py
+++ b/Lib/doctest.py
@@ -444,7 +444,13 @@
def write(self, s):
self.buf.append(s)
def get(self):
- return "".join(self.buf)
+ guts = "".join(self.buf)
+ # If anything at all was written, make sure there's a trailing
+ # newline. There's no way for the expected output to indicate
+ # that a trailing newline is missing.
+ if guts and not guts.endswith("\n"):
+ guts = guts + "\n"
+ return guts
def clear(self):
self.buf = []
def flush(self):