From d9bff4e81b8ca36fe6c4e90c0b9cf02bc020e713 Mon Sep 17 00:00:00 2001 From: Terry Jan Reedy Date: Fri, 26 Oct 2018 23:03:08 -0400 Subject: [PATCH] bpo-35079: Revise difflib.SequenceManager.get_matching_blocks doc (GH-10144) Specify that blocks are non-overlapping. Change '!=' to '<'. --- Doc/library/difflib.rst | 7 ++++--- .../next/Library/2018-10-26-22-53-16.bpo-35079.Tm5jvF.rst | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2018-10-26-22-53-16.bpo-35079.Tm5jvF.rst diff --git a/Doc/library/difflib.rst b/Doc/library/difflib.rst index 6743bdc1d8..f044cb2d6e 100644 --- a/Doc/library/difflib.rst +++ b/Doc/library/difflib.rst @@ -457,14 +457,15 @@ The :class:`SequenceMatcher` class has this constructor: .. method:: get_matching_blocks() - Return list of triples describing matching subsequences. Each triple is of - the form ``(i, j, n)``, and means that ``a[i:i+n] == b[j:j+n]``. The + Return list of triples describing non-overlapping matching subsequences. + Each triple is of the form ``(i, j, n)``, + and means that ``a[i:i+n] == b[j:j+n]``. The triples are monotonically increasing in *i* and *j*. The last triple is a dummy, and has the value ``(len(a), len(b), 0)``. It is the only triple with ``n == 0``. If ``(i, j, n)`` and ``(i', j', n')`` are adjacent triples in the list, and the second is not the last triple in - the list, then ``i+n != i'`` or ``j+n != j'``; in other words, adjacent + the list, then ``i+n < i'`` or ``j+n < j'``; in other words, adjacent triples always describe non-adjacent equal blocks. .. XXX Explain why a dummy is used! diff --git a/Misc/NEWS.d/next/Library/2018-10-26-22-53-16.bpo-35079.Tm5jvF.rst b/Misc/NEWS.d/next/Library/2018-10-26-22-53-16.bpo-35079.Tm5jvF.rst new file mode 100644 index 0000000000..33f6dc4d88 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2018-10-26-22-53-16.bpo-35079.Tm5jvF.rst @@ -0,0 +1,2 @@ +Improve difflib.SequenceManager.get_matching_blocks doc by adding 'non- +overlapping' and changing '!=' to '<'. -- 2.40.0