comparison mercurial/encoding.py @ 43551:313e3a279828

cleanup: remove pointless r-prefixes on double-quoted strings This is only double-quoted strings. I'll do single-quoted strings as a second step. 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 -- \[\^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/D7305
author Augie Fackler <augie@google.com>
date Thu, 07 Nov 2019 13:18:19 -0500
parents 2ade00f3b03b
children 9f70512ae2cf
comparison
equal deleted inserted replaced
43550:c093cc6e6c99 43551:313e3a279828
180 # make sure string is actually stored in UTF-8 180 # make sure string is actually stored in UTF-8
181 u = s.decode('UTF-8') 181 u = s.decode('UTF-8')
182 if encoding == b'UTF-8': 182 if encoding == b'UTF-8':
183 # fast path 183 # fast path
184 return s 184 return s
185 r = u.encode(_sysstr(encoding), r"replace") 185 r = u.encode(_sysstr(encoding), "replace")
186 if u == r.decode(_sysstr(encoding)): 186 if u == r.decode(_sysstr(encoding)):
187 # r is a safe, non-lossy encoding of s 187 # r is a safe, non-lossy encoding of s
188 return safelocalstr(r) 188 return safelocalstr(r)
189 return localstr(s, r) 189 return localstr(s, r)
190 except UnicodeDecodeError: 190 except UnicodeDecodeError:
191 # we should only get here if we're looking at an ancient changeset 191 # we should only get here if we're looking at an ancient changeset
192 try: 192 try:
193 u = s.decode(_sysstr(fallbackencoding)) 193 u = s.decode(_sysstr(fallbackencoding))
194 r = u.encode(_sysstr(encoding), r"replace") 194 r = u.encode(_sysstr(encoding), "replace")
195 if u == r.decode(_sysstr(encoding)): 195 if u == r.decode(_sysstr(encoding)):
196 # r is a safe, non-lossy encoding of s 196 # r is a safe, non-lossy encoding of s
197 return safelocalstr(r) 197 return safelocalstr(r)
198 return localstr(u.encode('UTF-8'), r) 198 return localstr(u.encode('UTF-8'), r)
199 except UnicodeDecodeError: 199 except UnicodeDecodeError:
200 u = s.decode("utf-8", "replace") # last ditch 200 u = s.decode("utf-8", "replace") # last ditch
201 # can't round-trip 201 # can't round-trip
202 return u.encode(_sysstr(encoding), r"replace") 202 return u.encode(_sysstr(encoding), "replace")
203 except LookupError as k: 203 except LookupError as k:
204 raise error.Abort(k, hint=b"please check your locale settings") 204 raise error.Abort(k, hint=b"please check your locale settings")
205 205
206 206
207 def fromlocal(s): 207 def fromlocal(s):