Mercurial > hg
comparison mercurial/color.py @ 41532:bd3f03d8cc9f
global: use raw strings for regular expressions with escapes
Escape sequences like \w, \s, and \d are technically invalid
in str/bytes. This became a deprecation warning in Python 3.6
(https://bugs.python.org/issue27364). Python 3.8 bumps it to
a SyntaxWarning (https://bugs.python.org/issue32912), which is
non-silent by default.
This commit changes a number of regular expressions to use
br'' so regular expression special sequences don't need \\
literals. This fixes roughly half of the SyntaxWarning we
see in the code base with Python 3.8.
Differential Revision: https://phab.mercurial-scm.org/D5815
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 04 Feb 2019 08:54:30 -0800 |
parents | 876494fd967d |
children | ee77a6dd8fb8 |
comparison
equal
deleted
inserted
replaced
41531:14983ac4a764 | 41532:bd3f03d8cc9f |
---|---|
482 # stdout may not support GetConsoleScreenBufferInfo() | 482 # stdout may not support GetConsoleScreenBufferInfo() |
483 # when called from subprocess or redirected | 483 # when called from subprocess or redirected |
484 w32effects = None | 484 w32effects = None |
485 else: | 485 else: |
486 origattr = csbi.wAttributes | 486 origattr = csbi.wAttributes |
487 ansire = re.compile(b'\033\[([^m]*)m([^\033]*)(.*)', | 487 ansire = re.compile(br'\033\[([^m]*)m([^\033]*)(.*)', |
488 re.MULTILINE | re.DOTALL) | 488 re.MULTILINE | re.DOTALL) |
489 | 489 |
490 def win32print(ui, writefunc, text, **opts): | 490 def win32print(ui, writefunc, text, **opts): |
491 label = opts.get(r'label', '') | 491 label = opts.get(r'label', '') |
492 attr = origattr | 492 attr = origattr |