Changed OutputChecker.output_difference to expect an Example object,
rather than an expected output string.  This gives the
output_difference method access to more information, such as the
indentation of the example, which might be useful.
diff --git a/Lib/doctest.py b/Lib/doctest.py
index d7978fd..c01dd64 100644
--- a/Lib/doctest.py
+++ b/Lib/doctest.py
@@ -1282,8 +1282,7 @@
         Report that the given example failed.
         """
         out(self._failure_header(test, example) +
-            self._checker.output_difference(example.want, got,
-                                            self.optionflags))
+            self._checker.output_difference(example, got, self.optionflags))
 
     def report_unexpected_exception(self, out, test, example, exc_info):
         """
@@ -1608,13 +1607,14 @@
         # The other diff types need at least a few lines to be helpful.
         return want.count('\n') > 2 and got.count('\n') > 2
 
-    def output_difference(self, want, got, optionflags):
+    def output_difference(self, example, got, optionflags):
         """
         Return a string describing the differences between the
-        expected output for an example (`want`) and the actual output
-        (`got`).  `optionflags` is the set of option flags used to
-        compare `want` and `got`.
+        expected output for a given example (`example`) and the actual
+        output (`got`).  `optionflags` is the set of option flags used
+        to compare `want` and `got`.
         """
+        want = example.want
         # If <BLANKLINE>s are being used, then replace blank lines
         # with <BLANKLINE> in the actual output string.
         if not (optionflags & DONT_ACCEPT_BLANKLINE):