[PATCH 3 of 4] mail: convert addr to str early in addrlistencode()

Yuya Nishihara yuya at tcha.org
Sun Nov 10 03:16:50 EST 2019


On Sat, 09 Nov 2019 17:06:42 +0100, Denis Laxalde wrote:
> # HG changeset patch
> # User Denis Laxalde <denis at laxalde.org>
> # Date 1573314873 -3600
> #      Sat Nov 09 16:54:33 2019 +0100
> # Node ID 068618bc1ae197973b082742a3446aeaab02cad9
> # Parent  36c4ef3894cdb62ae0a63b7b266f1b07df6dcb12
> mail: convert addr to str early in addrlistencode()
> 
> diff --git a/mercurial/mail.py b/mercurial/mail.py
> --- a/mercurial/mail.py
> +++ b/mercurial/mail.py
> @@ -400,15 +400,14 @@ def addrlistencode(ui, addrs, charsets=N
>      '''Turns a list of addresses into a list of RFC-2047 compliant headers.
>      A single element of input list may contain multiple addresses, but output
>      always has one address per item'''
> -    for a in addrs:
> +    for idx, a in enumerate(addrs):
>          assert isinstance(a, bytes), r'%r unexpectedly not a bytestr' % a
> +        addrs[idx] = encoding.strfromlocal(a)

Better to not mutate the argument.


More information about the Mercurial-devel mailing list