Skip to content

Cryptic deprecation notice in the re module #99308

@Kentzo

Description

@Kentzo
Contributor

Documentation

I'm confused by the following notice:

Deprecated since version 3.11: Group id containing anything except ASCII digits.

After some digging I found the related PR.

With the notice as is I would assume that non-ASCII digits would be interpreted as a name, but after reading the PR it's obvious that it cannot be the case since names must contain ASCII letters and digits.

Perhaps it's better to rewrite it to match the notice for re.sub:

Deprecated since version 3.11: Group id containing anything except ASCII digits. Group names containing non-ASCII characters in bytes replacement strings.

See https://discuss.python.org/t/cryptic-3-11-deprecation-notice-in-the-re-module-doc/20903

Activity

added a commit that references this issue on Nov 10, 2022
bedevere-bot

bedevere-bot commented on Nov 10, 2022

@bedevere-bot

GH-99310 is a backport of this pull request to the 3.11 branch.

added a commit that references this issue on Nov 10, 2022
gvanrossum

gvanrossum commented on Nov 10, 2022

@gvanrossum
Member

Maybe @CAM-Gerlach can review this? It does look like the original PR left some unclear deprecation notices.

CAM-Gerlach

CAM-Gerlach commented on Nov 10, 2022

@CAM-Gerlach
Member

I'd reviewed the linked #99311 previously, but while I didn't explicitly state it in my initial review, yeah the textual clarifications I suggest there should also be made in the other two places from the same original PR where a change in the allowed values for name in patterns and replacements is mentioned.

Also, since this was an unusual case where a deprecation made in one released turned into a change in the next, the changes will likely need to be manually backported with the cherry-picker script. While doing so, it would be really helpful to change the .. deprecated directive to deprecated-removed, to clarify both human-readibly and programmatically that the planned removal of support for the non-ASCII/numeric values will be in the very next version, which is not currently stated anywhere (and also isn't the standard deprecation policy).

added 2 commits that reference this issue on Nov 30, 2022
added a commit that references this issue on Dec 25, 2022
dbc1e69
added a commit that references this issue on Dec 28, 2022
hauntsaninja

hauntsaninja commented on Jan 6, 2023

@hauntsaninja
Contributor

It looks like the wording in #99311 was not backported to 3.11, because of some confusion: the wording change was to "version changed" which is 3.12, but on the 3.11 branch it exists as this deprecation notice.

A corresponding PR to the 3.11 branch matching the wording is welcome!

added 2 commits that reference this issue on Jan 12, 2023
bedevere-bot

bedevere-bot commented on Jan 12, 2023

@bedevere-bot

GH-101001 is a backport of this pull request to the 3.11 branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @Kentzo@gvanrossum@hauntsaninja@CAM-Gerlach@bedevere-bot

        Issue actions

          Cryptic deprecation notice in the re module · Issue #99308 · python/cpython