mercurial/mail.py
changeset 41405 9b3be572ff0c
parent 39108 d2d89d31cbb5
child 43019 2cc453284d5c
--- a/mercurial/mail.py	Sat Jan 26 10:22:09 2019 -0800
+++ b/mercurial/mail.py	Sat Jan 26 10:40:37 2019 -0800
@@ -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