gh-105687: Remove deprecated objects from re module#105688
gh-105687: Remove deprecated objects from re module#105688vstinner merged 3 commits intopython:mainfrom
re module#105688Conversation
|
I already proposed to remove these APIs directly, without deprecation period. But @serhiy-storchaka wanted to collect feedback of users with a deprecation period. So far, I am not aware of any feedback. This feature can be reimplemented outside Python stdlib if needed, no? |
Doc/whatsnew/3.13.rst
Outdated
| * Remove deprecated ``re.template`` function | ||
| and ``re.T`` and ``re.TEMPLATE`` flags. | ||
| Also removes ``SRE_FLAG_TEMPLATE`` constant | ||
| from ``sre_constants`` and ``re._constants``. |
There was a problem hiding this comment.
Please explain how to update existing code. I suppose that replacing re.template() with re.compile() works in most cases, no?
Please mention also that the flag never worked, see the previous removal commit.
There was a problem hiding this comment.
I think that these who use it should find how to replace it themselves. It cannot just be replaced with re.compile(), otherwise they would use re.compile() at first place. Perhaps.
Doc/whatsnew/3.13.rst
Outdated
| and ``re.T`` and ``re.TEMPLATE`` flags. | ||
| Also removes ``SRE_FLAG_TEMPLATE`` constant | ||
| from ``sre_constants`` and ``re._constants``. | ||
| (Contributed by Nikita Sobolev in :gh:`105687`.) |
There was a problem hiding this comment.
You might want to credit Serhiy who attempted first to remove it.
There was a problem hiding this comment.
I added Serhiy as the first name in the name tuple 👍
|
cc @hugovk |
Doc/whatsnew/3.13.rst
Outdated
| * Remove deprecated ``re.template`` function | ||
| and ``re.T`` and ``re.TEMPLATE`` flags. | ||
| Also removes ``SRE_FLAG_TEMPLATE`` constant | ||
| from ``sre_constants`` and ``re._constants``. |
There was a problem hiding this comment.
I think that these who use it should find how to replace it themselves. It cannot just be replaced with re.compile(), otherwise they would use re.compile() at first place. Perhaps.
Actually, I initially removed it without deprecation, because it clearly looked to me as unfinished in process of initial implementation and later broken feature. My best guess is that it was purposed to make all quntifiers possessive. But initial implementation of atomic groups and possessive quantifiers was broken. Now we have working implementation, and can enable that feature. To disable backtracking it would need also wrap every alternation into atomic group. We can do this now if it was initial purpose, but I have no idea why somebody would need such feature. |
vstinner
left a comment
There was a problem hiding this comment.
LGTM. Thanks for the enhanced doc.
|
Merged, thanks. |
re.template,re.T,re.TEMPLATE#105687📚 Documentation preview 📚: https://cpython-previews--105688.org.readthedocs.build/