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):