Re: [OT] Re: Raw strings ending with a backslash
![](https://secure.gravatar.com/avatar/2dde9ab55441548a981af3e43639fcbd.jpg?s=120&d=mm&r=g)
Trying again after I was mysteriously moderated. Thanks Ethan for fixing that. On Sat, May 28, 2022 at 6:59 PM Jonathan Goble <jcgoble3@gmail.com> wrote:
On Sat, May 28, 2022, 4:25 PM Gregory P. Smith <greg@krypto.org> wrote:
On Sat, May 28, 2022 at 12:55 PM Guido van Rossum <guido@python.org> wrote:
On Sat, May 28, 2022 at 12:11 MRAB
Names in Python are case-sensitive, yet the string prefixes are
case-/insensitive/.
Why?
IIRC we copied this from C for numeric suffixes (0l and 0L are the same; also hex digits and presumably 0XA == 0xa) and then copied that for string prefixes without thinking about it much. I guess it’s too late to change.
Given that 99.99% of code uses lower case string prefixes we *could* change it, it'd just take a longer deprecation cycle - you'd probably want a few releases where the upper case prefixes become an error in files without a `from __future__ import case_sensitive_quote_prefixes` rather than jumping straight from parse time DeprecationWarning to repurposing the uppercase to have a new meaning. The inertia behind doing that over the course of 5+ years is high. Implying that we'd need a compelling reason to orchestrate it. None has sprung up.
There already is a semantic meaning in one case, though not in Python proper. Some syntax highlighters, including the one used in VSCode, treat r and R differently: the former is syntax highlighted as a regex and the latter is syntax highlighted as an generic string. I have seen project-specific style guides advising to use r/R accordingly.
So there is meaningful use of capital R in real-world code, and any future change to require lowercase would need to at least consider the impact on that use case.
participants (1)
-
Jonathan Goble