D5714: mail: document behavior of Python 3
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Sat Jan 26 16:53:47 EST 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG9b3be572ff0c: mail: document behavior of Python 3 (authored by indygreg, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D5714?vs=13506&id=13514
REVISION DETAIL
https://phab.mercurial-scm.org/D5714
AFFECTED FILES
mercurial/mail.py
CHANGE DETAILS
diff --git a/mercurial/mail.py b/mercurial/mail.py
--- a/mercurial/mail.py
+++ b/mercurial/mail.py
@@ -243,6 +243,13 @@
cs.body_encoding = email.charset.QP
break
+ # On Python 2, this simply assigns a value. Python 3 inspects
+ # body and does different things depending on whether it has
+ # encode() or decode() attributes. We can get the old behavior
+ # if we pass a str and charset is None and we call set_charset().
+ # But we may get into trouble later due to Python attempting to
+ # encode/decode using the registered charset (or attempting to
+ # use ascii in the absence of a charset).
msg.set_payload(body, cs)
return msg
To: indygreg, #hg-reviewers, pulkit
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list