summaryrefslogtreecommitdiffstats
path: root/Lib/difflib.py
Commit message (Collapse)AuthorAgeFilesLines
* Issue #7585: use tab between components in unified and context diff headers.R. David Murray2010-04-121-16/+19
| | | | | | | | | | | | Instead of spaces between the filename and date (or whatever the string is that follows the filename, if any) use tabs. This is what the unix 'diff' command does, for example, and difflib was intended to follow the 'standard' way of doing diffs. This improves compatibility with patch tools. The docs and examples are also changed to recommended that the date format used be the ISO 8601 format, which is what modern diff tools emit by default. Patch by Anatoly Techtonik.
* Fix for issue1488943 - difflib.Differ() doesn't always add hints for tabSenthil Kumaran2009-11-231-4/+5
| | | | characters.
* Issue #5341: Fix a variety of spelling errors.Mark Dickinson2009-02-211-1/+1
|
* Use functools.reduce() in difflib instead of __builtin__.reduce() to silenceBrett Cannon2008-08-091-0/+1
| | | | warnings when running under -3.
* Issue 3189: Py3k DeprecationWarning in difflibRaymond Hettinger2008-06-241-4/+4
|
* Improve usability of the SequenceMatcher by returning named tuples ↵Raymond Hettinger2008-01-111-7/+10
| | | | describing match ranges.
* SF #1637850: make_table in difflib did not work with unicodeRaymond Hettinger2007-03-081-5/+4
|
* [Bug #1622533] Make docstrings raw strings because they contain control ↵Andrew M. Kuchling2007-01-051-1/+1
| | | | characters (\0, \1)
* Repaired typo in new comment.Tim Peters2006-06-141-1/+1
|
* SequenceMatcher.get_matching_blocks(): This now guarantees thatTim Peters2006-06-141-8/+34
| | | | | | | | | | | adjacent triples in the result list describe non-adjacent matching blocks. That's _nice_ to have, and Guido said he wanted it. Not a bugfix candidate: Guido or not ;-), this changes visible endcase semantics (note that some tests had to change), and nothing about this was documented before. Since it was working as designed, and behavior was consistent with the docs, it wasn't "a bug".
* get_matching_blocks(): rewrote code & comments so they match; addedTim Peters2006-06-131-14/+14
| | | | | | more comments about why it's this way at all; and removed what looked like needless expense (sorting (i, j, k) triples directly should give exactly the same order as sorting (i, (i, j, k)) pairs).
* Make use of new str.startswith/endswith semantics.Georg Brandl2006-06-091-3/+2
| | | | Occurences in email and compiler were ignored due to backwards compat requirements.
* Patch #1413711: Certain patterns of differences were making difflibGustavo Niemeyer2006-01-311-17/+22
| | | | | touch the recursion limit. The applied patch inlines the recursive __helper method in a non-recursive way.
* Fix all wrong instances of "it's".Georg Brandl2005-07-221-2/+2
|
* SF bug 1054821: difflib HtmlDiff() extra space on inserted 1 character linesTim Peters2004-11-121-2/+2
| | | | Simple correction from the code's author (Dan Gass).
* Typo fix: 'comparisions' is not a wordAndrew M. Kuchling2004-09-101-1/+1
|
* Whitespace normalization. test_difflib passes again.Tim Peters2004-08-291-31/+31
|
* Reverting whitespace normalization. test_difflib fails with it -- theTim Peters2004-08-291-31/+31
| | | | | test depends on invisible trailing whitespace in .py files. The author will have to repair that.
* Whitespace normalization.Tim Peters2004-08-291-31/+31
|
* Patch #914575: difflib side by side diff support, diff.py s/b/s HTML option.Martin v. Löwis2004-08-291-3/+676
|
* Repair typo in docstring.Tim Peters2004-07-311-1/+1
|
* SequenceMatcher(None, [], []).get_grouped_opcodes() now returns a generatorBrett Cannon2004-07-101-0/+2
| | | | | | that behaves as if both lists has an empty string in each of them. Closes bug #979794 (and duplicate bug #980117).
* Reverse argument order for nsmallest() and nlargest().Raymond Hettinger2004-06-151-1/+1
| | | | Reads better when the iterable is a generator expression.
* Apply heapq.nlargest() to find best matches.Raymond Hettinger2004-06-131-2/+4
|
* Replace backticks with repr() or "%r"Walter Dörwald2004-02-121-4/+4
| | | | From SF patch #852334.
* Let library modules use the new keyword arguments for list.sort().Raymond Hettinger2003-10-161-8/+4
|
* Fix faulty doctests. There is no results attribute.Raymond Hettinger2003-07-161-5/+6
| | | | | Note, these tests were not getting exercised because doctest skips over private functions.
* Fix SF bug #763023, difflib.py: ratio() zero division not caughtNeal Norwitz2003-07-011-3/+8
| | | | Backport candidate
* Fix docstringRaymond Hettinger2003-06-171-1/+1
|
* For the context and unified diff functions:Raymond Hettinger2003-06-081-15/+9
| | | | | | * Simplified test for visible changes * Improved variable names and line spacing * Replaced dict(a=3) style with Py2.2 compatable {'a':3}
* Added functions for creating context diffs and unified diffs.Raymond Hettinger2003-06-081-1/+200
| | | | Documentation update and NEWS item are forthcoming.
* Added missing names to __all__.Raymond Hettinger2002-10-301-1/+1
|
* SF 563203. Replaced 'has_key()' with 'in'.Raymond Hettinger2002-06-011-1/+1
|
* Mostly in SequenceMatcher.{__chain_b, find_longest_match}:Tim Peters2002-04-291-18/+55
| | | | | | | | | | | | This now does a dynamic analysis of which elements are so frequently repeated as to constitute noise. The primary benefit is an enormous speedup in find_longest_match, as the innermost loop can have factors of 100s less potential matches to worry about, in cases where the sequences have many duplicate elements. In effect, this zooms in on sequences of non-ubiquitous elements now. While I like what I've seen of the effects so far, I still consider this experimental. Please give it a try!
* Add the 'bool' type and its values 'False' and 'True', as described inGuido van Rossum2002-04-031-7/+7
| | | | | | | | | | | | | PEP 285. Everything described in the PEP is here, and there is even some documentation. I had to fix 12 unit tests; all but one of these were printing Boolean outcomes that changed from 0/1 to False/True. (The exception is test_unicode.py, which did a type(x) == type(y) style comparison. I could've fixed that with a single line using issubtype(x, type(y)), but instead chose to be explicit about those places where a bool is expected. Still to do: perhaps more documentation; change standard library modules to return False/True from predicates.
* Remove some now-obsolete generator future statements.Tim Peters2002-04-011-2/+0
| | | | | I left the email pkg alone; I'm not sure how Barry would like to handle that.
* Whitespace normalization.Tim Peters2001-10-041-1/+1
|
* Make difflib.ndiff() and difflib.Differ.compare() generators. ThisTim Peters2001-09-221-53/+47
| | | | | restores the 2.1 ability of Tools/scripts/ndiff.py to start producing output before the entire comparison is complete.
* SF patch #445412 extract ndiff functionality to difflib, fromTim Peters2001-08-121-267/+575
| | | | David Goodger.
* Improve accuracy. In the .tex file, note the new "% BUG:" comments: anTim Peters2001-02-201-3/+3
| | | | extra backslash is getting displayed in the generated HTML.
* Fix a few small typos in the docstrings.Fred Drake2001-02-191-5/+5
| | | | | get_close_matches(): Do not use %-interpolation for strings when concatenation is more efficient.
* Moved SequenceMatcher from ndiff into new std library module difflib.py.Tim Peters2001-02-101-0/+781
Guido told me to do this <wink>. Greatly expanded docstrings, and fleshed out with examples. New std test. Added new get_close_matches() function for ESR. Needs docs, but LaTeXification of the module docstring is all it needs. \CVS: ----------------------------------------------------------------------