Preserve multibyte UTF-8 characters when obfuscating.
This version uses the unicode 'replace' option, so non-UTF-8
encodings will still be mangled. Luckily, there aren't any
of those.
--- a/mercurial/templater.py
+++ b/mercurial/templater.py
@@ -241,6 +241,7 @@ def nl2br(text):
return text.replace('\n', '<br/>\n')
def obfuscate(text):
+ text = unicode(text, 'utf-8', 'replace')
return ''.join(['&#%d;' % ord(c) for c in text])
def domain(author):