]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-98401: Invalid escape sequences emits SyntaxWarning (#99011)
authorVictor Stinner <vstinner@python.org>
Thu, 3 Nov 2022 16:53:25 +0000 (17:53 +0100)
committerGitHub <noreply@github.com>
Thu, 3 Nov 2022 16:53:25 +0000 (17:53 +0100)
commita60ddd31be7ff96a8189e7483bf1eb2071d2bddf
tree61eacd702c4ecec19d1b7a4133e2916be9c955e4
parent916af11a976ca2faf0a8a77b0aaf71893e549cfe
gh-98401: Invalid escape sequences emits SyntaxWarning (#99011)

A backslash-character pair that is not a valid escape sequence now
generates a SyntaxWarning, instead of DeprecationWarning.  For
example, re.compile("\d+\.\d+") now emits a SyntaxWarning ("\d" is an
invalid escape sequence), use raw strings for regular expression:
re.compile(r"\d+\.\d+"). In a future Python version, SyntaxError will
eventually be raised, instead of SyntaxWarning.

Octal escapes with value larger than 0o377 (ex: "\477"), deprecated
in Python 3.11, now produce a SyntaxWarning, instead of
DeprecationWarning. In a future Python version they will be
eventually a SyntaxError.

codecs.escape_decode() and codecs.unicode_escape_decode() are left
unchanged: they still emit DeprecationWarning.

* The parser only emits SyntaxWarning for Python 3.12 (feature
  version), and still emits DeprecationWarning on older Python
  versions.
* Fix SyntaxWarning by using raw strings in Tools/c-analyzer/ and
  wasm_build.py.
Doc/library/re.rst
Doc/reference/lexical_analysis.rst
Doc/whatsnew/3.12.rst
Lib/test/test_codeop.py
Lib/test/test_fstring.py
Lib/test/test_string_literals.py
Misc/NEWS.d/next/Core and Builtins/2022-11-02-17-02-06.gh-issue-98401.y-dbVW.rst [new file with mode: 0644]
Misc/NEWS.d/next/Core and Builtins/2022-11-03-13-11-17.gh-issue-98401.CBS4nv.rst [new file with mode: 0644]
Parser/string_parser.c
Tools/c-analyzer/c_parser/_state_machine.py
Tools/wasm/wasm_build.py