https://github.com/python/cpython/commit/fba475ae6f932d0aaee6832b4102b2d4c50df70f
commit: fba475ae6f932d0aaee6832b4102b2d4c50df70f
branch: main
author: Peter Bierma <[email protected]>
committer: Eclips4 <[email protected]>
date: 2025-01-18T20:34:40+02:00
summary:

gh-121542: Document trailing newline behavior in `set_content()` (#121543)

Co-authored-by: Yizheng Meng <[email protected]>

files:
M Doc/library/email.contentmanager.rst

diff --git a/Doc/library/email.contentmanager.rst 
b/Doc/library/email.contentmanager.rst
index a86e227429b06d..b33fe82a6e4c9f 100644
--- a/Doc/library/email.contentmanager.rst
+++ b/Doc/library/email.contentmanager.rst
@@ -157,7 +157,13 @@ Currently the email package provides only one concrete 
content manager,
        :exc:`ValueError`.
 
        * For ``str`` objects, if *cte* is not set use heuristics to
-         determine the most compact encoding.
+         determine the most compact encoding.  Prior to encoding,
+         :meth:`str.splitlines` is used to normalize all line boundaries,
+         ensuring that each line of the payload is terminated by the
+         current policy's :data:`~email.policy.Policy.linesep` property
+         (even if the original string did not end with one).
+       * For ``bytes`` objects, *cte* is taken to be base64 if not set,
+         and the aforementioned newline translation is not performed.
        * For :class:`~email.message.EmailMessage`, per :rfc:`2046`, raise
          an error if a *cte* of ``quoted-printable`` or ``base64`` is
          requested for *subtype* ``rfc822``, and for any *cte* other than

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to