mirror of
https://github.com/python/cpython.git
synced 2025-07-23 03:05:38 +00:00
[3.11] gh-102310: Change error range for invalid bytes literals (GH-103663) (#103703)
This commit is contained in:
parent
8642fdce8c
commit
7b2ac6cf3d
3 changed files with 27 additions and 1 deletions
|
@ -1803,6 +1803,30 @@ x: *b
|
||||||
Traceback (most recent call last):
|
Traceback (most recent call last):
|
||||||
...
|
...
|
||||||
SyntaxError: invalid syntax
|
SyntaxError: invalid syntax
|
||||||
|
|
||||||
|
Invalid bytes literals:
|
||||||
|
|
||||||
|
>>> b"Ā"
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
b"Ā"
|
||||||
|
^^^
|
||||||
|
SyntaxError: bytes can only contain ASCII literal characters
|
||||||
|
|
||||||
|
>>> b"абвгде"
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
b"абвгде"
|
||||||
|
^^^^^^^^
|
||||||
|
SyntaxError: bytes can only contain ASCII literal characters
|
||||||
|
|
||||||
|
>>> b"abc ъющый" # first 3 letters are ascii
|
||||||
|
Traceback (most recent call last):
|
||||||
|
...
|
||||||
|
b"abc ъющый"
|
||||||
|
^^^^^^^^^^^
|
||||||
|
SyntaxError: bytes can only contain ASCII literal characters
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import re
|
import re
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Change the error range for invalid bytes literals.
|
|
@ -259,7 +259,8 @@ _PyPegen_parsestr(Parser *p, int *bytesmode, int *rawmode, PyObject **result,
|
||||||
const char *ch;
|
const char *ch;
|
||||||
for (ch = s; *ch; ch++) {
|
for (ch = s; *ch; ch++) {
|
||||||
if (Py_CHARMASK(*ch) >= 0x80) {
|
if (Py_CHARMASK(*ch) >= 0x80) {
|
||||||
RAISE_SYNTAX_ERROR(
|
RAISE_SYNTAX_ERROR_KNOWN_LOCATION(
|
||||||
|
t,
|
||||||
"bytes can only contain ASCII "
|
"bytes can only contain ASCII "
|
||||||
"literal characters");
|
"literal characters");
|
||||||
return -1;
|
return -1;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue