On 2024-10-08 21:59, Alan Bawden via Python-list wrote:
Karsten Hilbert <[email protected]> writes:Python 3.11.2 (main, Aug 26 2024, 07:20:54) [GCC 12.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> tex = '\sout{' >>> tex '\\sout{' >>> Am I missing something ? You're missing the warning it generates: > python -E -Wonce Python 3.11.2 (main, Aug 26 2024, 07:20:54) [GCC 12.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> tex = '\sout{' <stdin>:1: DeprecationWarning: invalid escape sequence '\s' >>>
You got lucky that \s in invalid. If it had been \t you would've got a tab character.
Historically, Python treated invalid escape sequences as literals, but it's deprecated now and will become an outright error in the future (probably) because it often hides a mistake, such as the aforementioned \t being treated as a tab character when the user expected it to be a literal backslash followed by letter t. (This can occur within Windows file paths written in plain string literals.)
-- https://mail.python.org/mailman/listinfo/python-list
