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