diff -r f8e1f48de118 -r fb7140f1d09d mercurial/templatefilters.py --- a/mercurial/templatefilters.py Thu Mar 22 09:48:22 2018 -0400 +++ b/mercurial/templatefilters.py Tue Mar 27 11:01:13 2018 -0400 @@ -292,29 +292,8 @@ def person(author): """Any text. Returns the name before an email address, interpreting it as per RFC 5322. - - >>> person(b'foo@bar') - 'foo' - >>> person(b'Foo Bar ') - 'Foo Bar' - >>> person(b'"Foo Bar" ') - 'Foo Bar' - >>> person(b'"Foo \"buz\" Bar" ') - 'Foo "buz" Bar' - >>> # The following are invalid, but do exist in real-life - ... - >>> person(b'Foo "buz" Bar ') - 'Foo "buz" Bar' - >>> person(b'"Foo Bar ') - 'Foo Bar' """ - if '@' not in author: - return author - f = author.find('<') - if f != -1: - return author[:f].strip(' "').replace('\\"', '"') - f = author.find('@') - return author[:f].replace('.', ' ') + return stringutil.person(author) @templatefilter('revescape') def revescape(text):