diff -r adbcba130143 Lib/difflib.py --- a/Lib/difflib.py Tue Mar 29 12:09:45 2011 -0700 +++ b/Lib/difflib.py Sat Apr 02 13:53:46 2011 +0200 @@ -913,7 +913,10 @@ cruncher = SequenceMatcher(self.linejunk, a, b) for tag, alo, ahi, blo, bhi in cruncher.get_opcodes(): if tag == 'replace': - g = self._fancy_replace(a, alo, ahi, b, blo, bhi) + if ahi - alo + bhi - blo < 100: + g = self._fancy_replace(a, alo, ahi, b, blo, bhi) + else: + g = self._plain_replace(a, alo, ahi, b, blo, bhi) elif tag == 'delete': g = self._dump('-', a, alo, ahi) elif tag == 'insert':