Mercurial > public > mercurial-scm > hg
comparison mercurial/pure/charencode.py @ 43506:9f70512ae2cf
cleanup: remove pointless r-prefixes on single-quoted strings
This is the promised second step on single-quoted strings. These had
existed because our source transformer didn't turn r'' into b'', so we
had tagged some strings as r-strings to get "native" strings on both
Pythons. Now that the transformer is gone, we can dispense with this
nonsense.
Methodology:
I ran
hg locate 'set:added() or modified() or clean()' | egrep '.*\.py$' | xargs egrep --color=never -n -- \[\^b\]\[\^a-z\]r\'\[\^\'\\\\\]\*\'\[\^\'\
in an emacs grep-mode buffer, and then used a keyboard macro to
iterate over the results and remove the r prefix as needed.
# skip-blame removing unneeded r prefixes left over from Python 3 migration.
Differential Revision: https://phab.mercurial-scm.org/D7306
author | Augie Fackler <augie@google.com> |
---|---|
date | Fri, 08 Nov 2019 11:19:20 -0800 |
parents | 687b865b95ad |
children | 89a2afe31e82 |
comparison
equal
deleted
inserted
replaced
43505:47fac1692ede | 43506:9f70512ae2cf |
---|---|
83 jm = _paranoidjsonmap | 83 jm = _paranoidjsonmap |
84 else: | 84 else: |
85 jm = _jsonmap | 85 jm = _jsonmap |
86 # non-BMP char is represented as UTF-16 surrogate pair | 86 # non-BMP char is represented as UTF-16 surrogate pair |
87 u16b = u8chars.decode('utf-8', _utf8strict).encode('utf-16', _utf8strict) | 87 u16b = u8chars.decode('utf-8', _utf8strict).encode('utf-16', _utf8strict) |
88 u16codes = array.array(r'H', u16b) | 88 u16codes = array.array('H', u16b) |
89 u16codes.pop(0) # drop BOM | 89 u16codes.pop(0) # drop BOM |
90 return b''.join(jm[x] if x < 128 else b'\\u%04x' % x for x in u16codes) | 90 return b''.join(jm[x] if x < 128 else b'\\u%04x' % x for x in u16codes) |