[PATCH 3 of 5] python3.13: address deprecation of re.sub positional argument 'count'
Manuel Jacob
me at manueljacob.de
Fri Feb 2 01:14:09 UTC 2024
On 12/01/2024 00.59, Mads Kiilerich wrote:
> # HG changeset patch
> # User Mads Kiilerich <mads at kiilerich.com>
> # Date 1705006735 -3600
> # Thu Jan 11 21:58:55 2024 +0100
> # Branch stable
> # Node ID 8e16bc622b04e2eabb3a47138aa3bdffba03e142
> # Parent a06a7677696d8fa4fc3e33923425ef3fadd6f441
> python3.13: address deprecation of re.sub positional argument 'count'
>
> Python 3.13 introduced:
>
> DeprecationWarning: 'count' is passed as positional argument
>
> Making it mandatory to pass 'count' as named argument reduces the risk of
> passing 'flags' to it. That is exactly what happened in test-doctest.py .
>
> diff --git a/mercurial/subrepoutil.py b/mercurial/subrepoutil.py
> --- a/mercurial/subrepoutil.py
> +++ b/mercurial/subrepoutil.py
> @@ -112,7 +112,7 @@ def state(ctx, ui):
> # extra escapes are needed because re.sub string decodes.
> repl = re.sub(br'\\\\([0-9]+)', br'\\\1', repl)
> try:
> - src = re.sub(pattern, repl, src, 1)
> + src = re.sub(pattern, repl, src, count=1)
> except re.error as e:
> raise error.Abort(
> _(b"bad subrepository pattern in %s: %s")
> diff --git a/tests/test-doctest.py b/tests/test-doctest.py
> --- a/tests/test-doctest.py
> +++ b/tests/test-doctest.py
> @@ -21,9 +21,9 @@ class py3docchecker(doctest.OutputChecke
> r'''^mercurial\.\w+\.(\w+): (['"])(.*?)\2''',
> r'\1: \3',
> got2,
> - re.MULTILINE,
> + flags=re.MULTILINE,
> )
> - got2 = re.sub(r'^mercurial\.\w+\.(\w+): ', r'\1: ', got2, re.MULTILINE)
> + got2 = re.sub(r'^mercurial\.\w+\.(\w+): ', r'\1: ', got2, flags=re.MULTILINE)
> return any(
> doctest.OutputChecker.check_output(self, w, g, optionflags)
> for w, g in [(want, got), (want2, got2)]
>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at lists.mercurial-scm.org
> https://lists.mercurial-scm.org/mailman/listinfo/mercurial-devel
LGTM!
More information about the Mercurial-devel
mailing list