]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-139871: Fix 3.15 bytearray.take_bytes example (#149520)
authorCody Maloney <cmaloney@users.noreply.github.com>
Sat, 9 May 2026 21:39:01 +0000 (14:39 -0700)
committerGitHub <noreply@github.com>
Sat, 9 May 2026 21:39:01 +0000 (14:39 -0700)
Currently:
```python
buffer = bytearray(b'abc\ndef')
n = buffer.find(b'\n')
data = bytes(buffer[:n + 1])
del buffer[:n + 1]
assert data == b'abc'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
    assert data == b'abc'
           ^^^^^^^^^^^^^^
AssertionError
```

Adding in the `\n` makes the two match:

```python
buffer = bytearray(b'abc\ndef')
n = buffer.find(b'\n')
data = bytes(buffer[:n + 1])
del buffer[:n + 1]
assert data == b'abc\n'
assert buffer == bytearray(b'def')

buffer = bytearray(b'abc\ndef')
n = buffer.find(b'\n')
data = buffer.take_bytes(n + 1)
assert data == b'abc\n'
assert buffer == bytearray(b'def')
```

Doc/whatsnew/3.15.rst

index 0f7782ba1813d1902d143b6e3b48d480d5493e2c..fb0755e8ffec5b7611795a52e2c7584d9a304df4 100644 (file)
@@ -798,7 +798,7 @@ Other language changes
               n = buffer.find(b'\n')
               data = bytes(buffer[:n + 1])
               del buffer[:n + 1]
-              assert data == b'abc'
+              assert data == b'abc\n'
               assert buffer == bytearray(b'def')
 
         - .. code:: python