Thanks to visit codestin.com
Credit goes to github.com

Skip to content

bpo-29704: Fix asyncio.SubprocessStreamProtocol closing #415

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 70 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
c2328ec
[backport to 3.6] Support "bpo-" in Misc/NEWS (#42)
Mariatta Feb 12, 2017
89b1824
bpo-27122: Fix comment to point to correct issue number (#48)
berkerpeksag Feb 12, 2017
308f789
bpo-29474: Improve documentation for weakref.WeakValueDictionary (#22)
Mariatta Feb 12, 2017
f66c81f
[backport to 3.6] bpo-28929: Link the documentation to its source fil…
Mariatta Feb 12, 2017
89ddffb
bpo-29438: fixed use-after-free in key sharing dict (#39)
methane Feb 13, 2017
2d0c228
A few README tweaks (#73) (#79)
Mariatta Feb 13, 2017
0230e64
bpo-28556: Various updates to typing (#28) (#77)
Mariatta Feb 14, 2017
9268855
Fix some sphinx warnings (#9) (#81)
Mariatta Feb 14, 2017
db3deb9
bpo-29521 Fix two minor documentation build warnings (#41) (#83)
Mariatta Feb 14, 2017
7d5587e
Update URL of Mersenne Twister Home Page (#20) (#115)
methane Feb 15, 2017
1e8cc88
Backport master's README.rst to 3.6 (GH-86)
zware Feb 15, 2017
7224a04
bpo-29481: add versionadded 3.6.1 to typing.Deque docs (#108)
Mariatta Feb 15, 2017
02e3357
bpo-29521 update Misc/ACKS (#110)
Mariatta Feb 15, 2017
b300c66
Backport36 doc fixes: PR#68 and PR#124 (#125)
vstinner Feb 15, 2017
d372cda
bpo-29579: Removes readme.txt from the installer. (#161)
zooba Feb 19, 2017
0683d68
[3.6] bpo-29571: Use correct locale encoding in test_re (#149) (#153)
ncoghlan Feb 19, 2017
3337d33
[backport to 3.6] bpo-29529: Add .travis.yml to 3.6 branch (#25)
methane Feb 19, 2017
b121d73
Tweak PEP 519 documentation in stdlib (#164)
berkerpeksag Feb 19, 2017
7970cd4
bpo-29520: doc: fix deprecation warning from 'defindex' template (GH-…
methane Feb 20, 2017
a4afdfc
Change some mercurial/ hg.python.org references. (#8) (#185)
orsenthil Feb 20, 2017
9a4577a
bpo-29347: Fix possibly dereferencing undefined pointers when creatin…
zhangyangyu Feb 20, 2017
ce552e2
bpo-24274: fix erroneous comment in dictobject.c (GH-200)
methane Feb 20, 2017
d9b3cdd
bpo-29602: fix signed zero handling in complex constructor. (#203) (#…
mdickinson Feb 20, 2017
51a477c
doc: fix compile error on "shoddy" example extension (GH-216)
methane Feb 21, 2017
e48fd93
bpo-29532: Altering a kwarg dictionary passed to functools.partial() …
serhiy-storchaka Feb 21, 2017
3ab24bd
bpo-29607: Fix stack_effect computation for CALL_FUNCTION_EX (GH-219)
methane Feb 21, 2017
9b49133
bpo-29453: Remove reference to undefined dictionary ordering in Tutor…
Mariatta Feb 21, 2017
e9c0e55
[3.6] Add .codecov.yml (#210)
berkerpeksag Feb 21, 2017
b067a5e
bpo-29554: Improve docs for pstat module and profile. (#88) (#227)
berkerpeksag Feb 22, 2017
3cc5817
Fixed bpo-29565: Corrected ctypes passing of large structs by value o…
vsajip Feb 22, 2017
55b82e1
bpo-28911: Clarify the behaviour of assert_called_once_with. (#252)
153957 Feb 23, 2017
2197eac
bpo-28814: Undeprecate inadvertently deprecated inspect functions. (#…
berkerpeksag Feb 23, 2017
f2beceb
bpo-29624: Adds purge step and layout test after uploading files. (#2…
zooba Feb 23, 2017
0a1b656
bpo-25008: Deprecate smtpd and point to aiosmtpd (#274) (#278)
warsaw Feb 24, 2017
f28db60
[3.6] Fix small typos in expressions.rst (GH-276) (GH-281)
Mariatta Feb 25, 2017
bea9d2f
[3.6] bpo-28556: Update to typing: treat subscripted generics as prox…
Mariatta Feb 25, 2017
814213b
[3.6] Backport README.rst changes (GH-294)
Mariatta Feb 25, 2017
1a8dd94
[3.6] bpo-28929: Add to Misc/NEWS (GH-284)
Mariatta Feb 26, 2017
b002328
Fix small typos in introduction and datastructures of tutorial (GH-27…
Mariatta Feb 26, 2017
91c499f
mark various test data binary (#233) (#304)
benjaminp Feb 26, 2017
fae59e1
bpo-28961: Address my comments from earlier code review (#306)
berkerpeksag Feb 26, 2017
5c7b8f4
Backport recent .travis.yml changes (#308)
berkerpeksag Feb 26, 2017
7333d17
bpo-29648: import.rst: Add reference to create_module() (GH-290) (GH-…
Mariatta Feb 26, 2017
1457984
bpo-22594: Add a link to the regex module in re documentation (GH-241…
Mariatta Feb 26, 2017
893e86e
bpo-29121: Remove outdated documentation about transactions (#313) (#…
berkerpeksag Feb 26, 2017
76995ca
bpo-28518: Start a transaction implicitly before a DML statement (#24…
berkerpeksag Feb 26, 2017
deea29e
bpo-26184: import.rst: Improve versionchanged note (GH-277) (#320)
Mariatta Feb 26, 2017
6b81003
bpo-28624: Add a test that checks that cwd parameter of Popen() accep…
berkerpeksag Feb 26, 2017
c9131b6
[3.6] bpo-29110: Fix file object leak in `aifc.open` (#310)
methane Feb 26, 2017
7e4897a
bpo-26184: import.rst: Improve versionchanged note (GH-325) (GH-326)
Mariatta Feb 26, 2017
4b6c417
bpo-29376: Fix assertion error in threading._DummyThread.is_alive() (…
zhangyangyu Feb 27, 2017
8aa1ad8
bpo-29662: fix wrong indentation in timeit.Timer's doc (GH-333)
zhangyangyu Feb 27, 2017
bc10e6b
Asyncio documentation: remove `self` from method signatures (GH-334) …
Mariatta Feb 27, 2017
046041e
Delete accidentally merged entries from Misc/NEWS (#338)
berkerpeksag Feb 27, 2017
53039ad
bpo-28598: Support __rmod__ for RHS subclasses of str in % string for…
mjpieters Feb 27, 2017
bb59d89
bpo-27788 : synchronise platform.py version number (#246) (#341)
berkerpeksag Feb 27, 2017
7accf20
bpo-29655: Fixed possible reference leaks in `import *`. (#301) (#348)
berkerpeksag Feb 27, 2017
c4a786b
bpo-29661: fix contradiction in timeit.Timer.autorange's docstring (G…
zhangyangyu Feb 28, 2017
d413aa7
Disable mention-bot for maintenance branches (GH-365)
dstufft Mar 1, 2017
8458b2b
correct documentation for enum.html (GH-358) (GH-367)
Mariatta Mar 1, 2017
1b93ed4
Fixed a handful of typos (GH-343) (GH-364)
Mariatta Mar 1, 2017
023532e
bpo-29684: Fix minor regression of PyEval_CallObjectWithKeywords. (GH…
methane Mar 1, 2017
b05d48e
email.compat32-message.rst: Fix typo in the word `message` (GH-379) (…
Mariatta Mar 1, 2017
784ba7c
bpo-29697: Don't use OpenSSL <1.0.2 fallback on 1.1+ (#397)
dstufft Mar 2, 2017
65bd0bd
In SSL module version examples, don't use a legacy version. (#381) (#…
alex Mar 2, 2017
a6e8493
bpo-29683 - Fixes to _PyCode_SetExtra when co_extra->ce->extras is (#…
brianfcoleman Mar 2, 2017
01e5230
bpo-29703: asyncio: Fix creating new event loops in child processes. …
1st1 Mar 3, 2017
dea5101
bpo-28893: Set __cause__ for errors in async iteration protocol (#407)
1st1 Mar 3, 2017
13802a3
bpo-29271: Fix Task.current_task and Task.all_tasks to accept None. (…
1st1 Mar 3, 2017
604faba
bpo-29704: Fix asyncio.SubprocessStreamProtocol closing (#405)
SethMichaelLarson Mar 3, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
codecov:
notify:
require_ci_to_pass: true
comment: off
ignore:
- "Doc/**/*"
- "Misc/*"
- "Mac/**/*"
- "PC/**/*"
- "PCbuild/**/*"
- "Tools/**/*"
- "Grammar/*"
coverage:
precision: 2
range:
- 70.0
- 100.0
round: down
status:
changes: off
project: off
patch:
default:
target: 100%
only_pulls: true
threshold: 0.05
parsers:
gcov:
branch_detection:
conditional: true
loop: true
macro: false
method: false
javascript:
enable_partials: false
10 changes: 10 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Misc/NEWS merge=union

*.pck binary
Lib/test/cjkencodings/* binary
Lib/test/decimaltestdata/*.decTest binary
Lib/test/sndhdrdata/sndhdr.* binary
Lib/test/test_email/data/msg_26.txt binary
Lib/test/xmltestdata/* binary
Lib/venv/scripts/nt/* binary
Lib/test/coding20731.py binary
3 changes: 3 additions & 0 deletions .mention-bot
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"findPotentialReviewers": false
}
103 changes: 103 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
language: c
dist: trusty
sudo: false
group: beta

# To cache doc-building dependencies.
cache: pip

branches:
only:
- master
- /^\d\.\d$/

os:
- linux
# macOS builds are disabled as the machines are under-provisioned on Travis,
# adding up to an extra hour completing a full CI run.
#- osx

compiler:
- clang
- gcc

env:
- TESTING=cpython

matrix:
fast_finish: true
allow_failures:
- env:
- TESTING=coverage
include:
- os: linux
language: python
python: 3.5
env:
- TESTING=docs
before_script:
- cd Doc
- make venv
script:
- make check suspicious html PYTHON="./venv/bin/python" SPHINXBUILD="./venv/bin/python -m sphinx" SPHINXOPTS="-q"
- os: linux
language: c
compiler: clang
env:
- TESTING=coverage
before_script:
- |
if ! git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '(\.(rst|yml)$)|(^Doc)/'
then
echo "Only docs were updated, stopping build process."
exit
fi
./configure
make -s -j4
# Need a venv that can parse covered code.
./python -m venv venv
./venv/bin/python -m pip install -U coverage
script:
# Skip tests that re-run the entire test suite.
- ./venv/bin/python -m coverage run --pylib -m test -uall -x test_multiprocessing_fork -x test_multiprocessing_forkserver -x test_multiprocessing_spawn
after_script: # Probably should be after_success once test suite updated to run under coverage.py.
# Make the `coverage` command available to Codecov w/ a version of Python that can parse all source files.
- source ./venv/bin/activate
- bash <(curl -s https://codecov.io/bash)
- os: linux
language: cpp
compiler: clang
env:
- TESTING="C++ header compatibility"
before_script:
- ./configure
script:
- echo '#include "Python.h"' > test.cc && $CXX -c test.cc -o /dev/null -I ./Include -I .

# Travis provides only 2 cores, so don't overdue the parallelism and waste memory.
before_script:
- |
if ! git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '(\.(rst|yml)$)|(^Doc)/'
then
echo "Only docs were updated, stopping build process."
exit
fi
./configure --with-pydebug
make -j4

script:
# `-r -w` implicitly provided through `make buildbottest`.
- make buildbottest TESTOPTS="-j4"

notifications:
email: false
irc:
channels:
# This is set to a secure variable to prevent forks from notifying the
# IRC channel whenever they fail a build. This can be removed when travis
# implements https://github.com/travis-ci/travis-ci/issues/1094.
# The actual value here is: irc.freenode.net#python-dev
- secure: "s7kAkpcom2yUJ8XqyjFI0obJmhAGrn1xmoivdaPdgBIA++X47TBp1x4pgDsbEsoalef7bEwa4l07KdT4qa+DOd/c4QxaWom7fbN3BuLVsZuVfODnl79+gYq/TAbGfyH+yDs18DXrUfPgwD7C5aW32ugsqAOd4iWzfGJQ5OrOZzqzGjYdYQUEkJFXgxDEIb4aHvxNDWGO3Po9uKISrhb5saQ0l776yLo1Ur7M4oxl8RTbCdgX0vf5TzPg52BgvZpOgt3DHOUYPeiJLKNjAE6ibg0U95sEvMfHX77nz4aFY4/3UI6FFaRla34rZ+mYKrn0TdxOhera1QOgPmM6HzdO4K44FpfK1DS0Xxk9U9/uApq+cG0bU3W+cVUHDBe5+90lpRBAXHeHCgT7TI8gec614aiT8lEr3+yH8OBRYGzkjNK8E2LJZ/SxnVxDe7aLF6AWcoWLfS6/ziAIBFQ5Nc4U72CT8fGVSkl8ywPiRlvixKdvTODMSZo0jMqlfZSNaAPTsNRx4wu5Uis4qekwe32Fz4aB6KGpsuuVjBi+H6v0RKxNJNGY3JKDiEH2TK0UE2auJ5GvLW48aUVFcQMB7euCWYXlSWVRHh3WLU8QXF29Dw4JduRZqUpOdRgMHU79UHRq+mkE0jAS/nBcS6CvsmxCpTSrfVYuMOu32yt18QQoTyU="
on_success: change
on_failure: always
skip_join: true
6 changes: 3 additions & 3 deletions Doc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
#

# You can set these variables from the command line.
PYTHON = python
PYTHON = python3
SPHINXBUILD = sphinx-build
PAPER =
SOURCES =
DISTVERSION = $(shell $(PYTHON) tools/extensions/patchlevel.py)

ALLSPHINXOPTS = -b $(BUILDER) -d build/doctrees -D latex_paper_size=$(PAPER) \
ALLSPHINXOPTS = -b $(BUILDER) -d build/doctrees -D latex_elements.papersize=$(PAPER) \
$(SPHINXOPTS) . build/$(BUILDER) $(SOURCES)

.PHONY: help build html htmlhelp latex text changes linkcheck \
Expand Down Expand Up @@ -153,7 +153,7 @@ dist:
cp -pPR build/epub/Python.epub dist/python-$(DISTVERSION)-docs.epub

check:
$(PYTHON) tools/rstlint.py -i tools -i venv
$(PYTHON) tools/rstlint.py -i tools -i venv -i README.rst

serve:
../Tools/scripts/serve.py build/html
Expand Down
21 changes: 11 additions & 10 deletions Doc/README.txt → Doc/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,21 @@ Python Documentation README
~~~~~~~~~~~~~~~~~~~~~~~~~~~

This directory contains the reStructuredText (reST) sources to the Python
documentation. You don't need to build them yourself, prebuilt versions are
available at <https://docs.python.org/dev/download.html>.
documentation. You don't need to build them yourself, `prebuilt versions are
available <https://docs.python.org/dev/download.html>`_.

Documentation on authoring Python documentation, including information about
both style and markup, is available in the "Documenting Python" chapter of the
developers guide <https://docs.python.org/devguide/documenting.html>.
both style and markup, is available in the "`Documenting Python
<https://docs.python.org/devguide/documenting.html>`_" chapter of the
developers guide.


Building the docs
=================

You need to have Sphinx <http://sphinx-doc.org/> installed; it is the toolset
You need to have `Sphinx <http://sphinx-doc.org/>`_ installed; it is the toolset
used to build the docs. It is not included in this tree, but maintained
separately and available from PyPI <https://pypi.python.org/pypi/Sphinx>.
separately and `available from PyPI <https://pypi.python.org/pypi/Sphinx>`_.


Using make
Expand Down Expand Up @@ -108,11 +109,11 @@ see the make targets above).
Contributing
============

Bugs in the content should be reported to the Python bug tracker at
https://bugs.python.org.
Bugs in the content should be reported to the
`Python bug tracker <https://bugs.python.org>`_.

Bugs in the toolset should be reported in the Sphinx bug tracker at
https://www.bitbucket.org/birkenfeld/sphinx/issues/.
Bugs in the toolset should be reported in the
`Sphinx bug tracker <https://github.com/sphinx-doc/sphinx/issues>`_.

You can also send a mail to the Python Documentation Team at [email protected],
and we will process your request as soon as possible.
Expand Down
32 changes: 16 additions & 16 deletions Doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
needs_sphinx = '1.2'

# Ignore any .rst files in the venv/ directory.
exclude_patterns = ['venv/*']
exclude_patterns = ['venv/*', 'README.rst']


# Options for HTML output
Expand Down Expand Up @@ -88,11 +88,24 @@
# Options for LaTeX output
# ------------------------

# Get LaTeX to handle Unicode correctly
latex_elements = {'inputenc': r'\usepackage[utf8x]{inputenc}', 'utf8extra': ''}

# Additional stuff for the LaTeX preamble.
latex_elements['preamble'] = r'''
\authoraddress{
\strong{Python Software Foundation}\\
Email: \email{[email protected]}
}
\let\Verbatim=\OriginalVerbatim
\let\endVerbatim=\endOriginalVerbatim
'''

# The paper size ('letter' or 'a4').
latex_paper_size = 'a4'
latex_elements['papersize'] = 'a4'

# The font size ('10pt', '11pt' or '12pt').
latex_font_size = '10pt'
latex_elements['font_size'] = '10pt'

# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, document class [howto/manual]).
Expand Down Expand Up @@ -125,22 +138,9 @@
for fn in os.listdir('howto')
if fn.endswith('.rst') and fn != 'index.rst')

# Additional stuff for the LaTeX preamble.
latex_preamble = r'''
\authoraddress{
\strong{Python Software Foundation}\\
Email: \email{[email protected]}
}
\let\Verbatim=\OriginalVerbatim
\let\endVerbatim=\endOriginalVerbatim
'''

# Documents to append as an appendix to all manuals.
latex_appendices = ['glossary', 'about', 'license', 'copyright']

# Get LaTeX to handle Unicode correctly
latex_elements = {'inputenc': r'\usepackage[utf8x]{inputenc}', 'utf8extra': ''}

# Options for Epub output
# -----------------------

Expand Down
6 changes: 3 additions & 3 deletions Doc/faq/general.rst
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ How do I obtain a copy of the Python source?

The latest Python source distribution is always available from python.org, at
https://www.python.org/downloads/. The latest development sources can be obtained
via anonymous Mercurial access at https://hg.python.org/cpython.
at https://github.com/python/cpython/.

The source distribution is a gzipped tar file containing the complete C source,
Sphinx-formatted documentation, Python library modules, example programs, and
Expand Down Expand Up @@ -222,8 +222,8 @@ releases are announced on the comp.lang.python and comp.lang.python.announce
newsgroups and on the Python home page at https://www.python.org/; an RSS feed of
news is available.

You can also access the development version of Python through Mercurial. See
https://docs.python.org/devguide/faq.html for details.
You can also access the development version of Python through Git. See
`The Python Developer's Guide <https://docs.python.org/devguide/>`_ for details.


How do I submit bug reports and patches for Python?
Expand Down
7 changes: 4 additions & 3 deletions Doc/faq/windows.rst
Original file line number Diff line number Diff line change
Expand Up @@ -300,9 +300,10 @@ this respect, and is easily configured to use spaces: Take :menuselection:`Tools
--> Options --> Tabs`, and for file type "Default" set "Tab size" and "Indent
size" to 4, and select the "Insert spaces" radio button.

If you suspect mixed tabs and spaces are causing problems in leading whitespace,
run Python with the :option:`-t` switch or run ``Tools/Scripts/tabnanny.py`` to
check a directory tree in batch mode.
Python raises :exc:`IndentationError` or :exc:`TabError` if mixed tabs
and spaces are causing problems in leading whitespace.
You may also run the :mod:`tabnanny` module to check a directory tree
in batch mode.


How do I check for a keypress without blocking?
Expand Down
1 change: 1 addition & 0 deletions Doc/includes/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@
Extension("noddy2", ["noddy2.c"]),
Extension("noddy3", ["noddy3.c"]),
Extension("noddy4", ["noddy4.c"]),
Extension("shoddy", ["shoddy.c"]),
])
2 changes: 1 addition & 1 deletion Doc/includes/shoddy.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Shoddy_init(Shoddy *self, PyObject *args, PyObject *kwds)


static PyTypeObject ShoddyType = {
PyObject_HEAD_INIT(NULL)
PyVarObject_HEAD_INIT(NULL, 0)
"shoddy.Shoddy", /* tp_name */
sizeof(Shoddy), /* tp_basicsize */
0, /* tp_itemsize */
Expand Down
6 changes: 3 additions & 3 deletions Doc/library/asyncio-protocol.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@ BaseTransport

Base class for transports.

.. method:: close(self)
.. method:: close()

Close the transport. If the transport has a buffer for outgoing
data, buffered data will be flushed asynchronously. No more data
will be received. After all buffered data is flushed, the
protocol's :meth:`connection_lost` method will be called with
:const:`None` as its argument.

.. method:: is_closing(self)
.. method:: is_closing()

Return ``True`` if the transport is closing or is closed.

Expand Down Expand Up @@ -251,7 +251,7 @@ BaseSubprocessTransport
if it hasn't returned, similarly to the
:attr:`subprocess.Popen.returncode` attribute.

.. method:: kill(self)
.. method:: kill()

Kill the subprocess, as in :meth:`subprocess.Popen.kill`.

Expand Down
10 changes: 5 additions & 5 deletions Doc/library/email.compat32-message.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@ having a MIME type such as :mimetype:`multipart/\*` or
The conceptual model provided by a :class:`Message` object is that of an
ordered dictionary of headers with additional methods for accessing both
specialized information from the headers, for accessing the payload, for
generating a serialized version of the mssage, and for recursively walking over
the object tree. Note that duplicate headers are supported but special methods
must be used to access them.
generating a serialized version of the message, and for recursively walking
over the object tree. Note that duplicate headers are supported but special
methods must be used to access them.

The :class:`Message` psuedo-dictionary is indexed by the header names, which
The :class:`Message` pseudo-dictionary is indexed by the header names, which
must be ASCII values. The values of the dictionary are strings that are
supposed to contain only ASCII characters; there is some special handling for
non-ASCII input, but it doesn't always produce the correct results. Headers
Expand Down Expand Up @@ -181,7 +181,7 @@ Here are the methods of the :class:`Message` class:
This is a legacy method. On the
:class:`~email.emailmessage.EmailMessage` class its functionality is
replaced by :meth:`~email.message.EmailMessage.set_content` and the
realted ``make`` and ``add`` methods.
related ``make`` and ``add`` methods.


.. method:: get_payload(i=None, decode=False)
Expand Down
2 changes: 1 addition & 1 deletion Doc/library/email.message.rst
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ message objects.
*header* specifies an alternative header to :mailheader:`Content-Type`.

If the value contains non-ASCII characters, the charset and language may
be explicity specified using the optional *charset* and *language*
be explicitly specified using the optional *charset* and *language*
parameters. Optional *language* specifies the :rfc:`2231` language,
defaulting to the empty string. Both *charset* and *language* should be
strings. The default is to use the ``utf8`` *charset* and ``None`` for
Expand Down
Loading