On 5/8/2025 2:05 AM, Left Right via Python-list wrote:
Also, it appears that the change linked above is a lie:

https://docs.python.org/3/reference/lexical_analysis.html#grammar-token-python-grammar-longstringitem

According to the grammar, any character can follow backslash in a
valid Python program. The warning / error raised by this code should
not be a syntax error / warning because the syntax is correct.

"Changed in version 3.12: Unrecognized escape sequences produce a SyntaxWarning. In a future Python version they will be eventually a SyntaxError."

See https://docs.python.org/3/reference/lexical_analysis.html#strings

Test case for "\" in triple-quoted string:

[code]
def f():
...    """\hello"""
<stdin>:2: SyntaxWarning: invalid escape sequence '\h'
...    print('hi')
...

f()
hi
[/code]

This example fits the documentation exactly. A SyntaxWarning is emitted for the unrecognized escape sequence "\h". The program runs as intended.

Please let's drop all the OT back-and-forth.

On Thu, May 8, 2025 at 7:54 AM Left Right <olegsivo...@gmail.com> wrote:

I think it could be this:

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. (Contributed by Victor
Stinner in gh-98401.)

Found in:
https://docs.python.org/3/whatsnew/3.12.html#other-language-changes

It's not supposed to crash your program though. If the program crashes
because of it, it's a bug in Python.

On Thu, May 8, 2025 at 7:00 AM Bob van der Poel via Python-list
<python-list@python.org> wrote:

Did something change in python buggering up my use of a "\ " sequence in a
triple quoted string?

I have yet to go through my archive on the program, but I tried to run it
today and it crashed quite spectacularly when it hit a """ .... """ line
being used as a comment at the top of a function. I changed the "\" to a
"/" and all is well now.


--

**** Listen to my FREE CD at http://www.mellowood.ca/music/cedars ****
Bob van der Poel ** Wynndel, British Columbia, CANADA **
EMAIL: b...@mellowood.ca
WWW:   http://www.mellowood.ca
--
https://mail.python.org/mailman/listinfo/python-list

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to