mirror of
https://github.com/python/cpython.git
synced 2025-07-23 11:15:24 +00:00
Merge from 3.5 (with 3.5.0rc2 changes) into default (3.6). Messy!
This commit is contained in:
commit
45d1c00831
7 changed files with 217 additions and 98 deletions
1
.hgtags
1
.hgtags
|
@ -153,3 +153,4 @@ b4cbecbc0781e89a309d03b60a1f75f8499250e6 v3.4.3
|
||||||
0035fcd9b9243ae52c2e830204fd9c1f7d528534 v3.5.0b3
|
0035fcd9b9243ae52c2e830204fd9c1f7d528534 v3.5.0b3
|
||||||
c0d64105463581f85d0e368e8d6e59b7fd8f12b1 v3.5.0b4
|
c0d64105463581f85d0e368e8d6e59b7fd8f12b1 v3.5.0b4
|
||||||
1a58b1227501e046eee13d90f113417b60843301 v3.5.0rc1
|
1a58b1227501e046eee13d90f113417b60843301 v3.5.0rc1
|
||||||
|
cc15d736d860303b9da90d43cd32db39bab048df v3.5.0rc2
|
||||||
|
|
|
@ -745,7 +745,7 @@ class BuiltinImporter:
|
||||||
@classmethod
|
@classmethod
|
||||||
def exec_module(self, module):
|
def exec_module(self, module):
|
||||||
"""Exec a built-in module"""
|
"""Exec a built-in module"""
|
||||||
_call_with_frames_removed(_imp.exec_dynamic, module)
|
_call_with_frames_removed(_imp.exec_builtin, module)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@_requires_builtin
|
@_requires_builtin
|
||||||
|
|
210
Misc/NEWS
210
Misc/NEWS
|
@ -10,36 +10,19 @@ Release date: XXXX-XX-XX
|
||||||
Core and Builtins
|
Core and Builtins
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
- Issue #21167: NAN operations are now handled correctly when python is
|
|
||||||
compiled with ICC even if -fp-model strict is not specified.
|
|
||||||
|
|
||||||
- Issue #9232: Modify Python's grammar to allow trailing commas in the
|
- Issue #9232: Modify Python's grammar to allow trailing commas in the
|
||||||
argument list of a function declaration. For example, "def f(*, a =
|
argument list of a function declaration. For example, "def f(*, a =
|
||||||
3,): pass" is now legal. Patch from Mark Dickinson.
|
3,): pass" is now legal. Patch from Mark Dickinson.
|
||||||
|
|
||||||
- Issue #24667: Resize odict in all cases that the underlying dict resizes.
|
|
||||||
|
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
- Issue #24633: site-packages/README -> README.txt.
|
- Issue #24633: site-packages/README -> README.txt.
|
||||||
|
|
||||||
- Issue #20362: Honour TestCase.longMessage correctly in assertRegex.
|
|
||||||
Patch from Ilia Kurenkov.
|
|
||||||
|
|
||||||
- Issue #24764: cgi.FieldStorage.read_multi() now ignores the Content-Length
|
|
||||||
header in part headers. Patch written by Peter Landry and reviewed by Pierre
|
|
||||||
Quentel.
|
|
||||||
|
|
||||||
- Issue #24879: help() and pydoc can now list named tuple fields in the
|
- Issue #24879: help() and pydoc can now list named tuple fields in the
|
||||||
order they were defined rather than alphabetically. The ordering is
|
order they were defined rather than alphabetically. The ordering is
|
||||||
determined by the _fields attribute if present.
|
determined by the _fields attribute if present.
|
||||||
|
|
||||||
- Issue #24774: Fix docstring in http.server.test. Patch from Chiu-Hsiang Hsu.
|
|
||||||
|
|
||||||
- Issue #21159: Improve message in configparser.InterpolationMissingOptionError.
|
|
||||||
Patch from Łukasz Langa.
|
|
||||||
|
|
||||||
- Issue #24874: Improve speed of itertools.cycle() and make its
|
- Issue #24874: Improve speed of itertools.cycle() and make its
|
||||||
pickle more compact.
|
pickle more compact.
|
||||||
|
|
||||||
|
@ -49,45 +32,12 @@ Library
|
||||||
- Issue #20059: urllib.parse raises ValueError on all invalid ports.
|
- Issue #20059: urllib.parse raises ValueError on all invalid ports.
|
||||||
Patch by Martin Panter.
|
Patch by Martin Panter.
|
||||||
|
|
||||||
- Issue #24824: Signatures of codecs.encode() and codecs.decode() now are
|
|
||||||
compatible with pydoc.
|
|
||||||
|
|
||||||
- Issue #4395: Better testing and documentation of binary operators.
|
|
||||||
Patch by Martin Panter.
|
|
||||||
|
|
||||||
- Issue #23973: Update typing.py from GitHub repo.
|
|
||||||
|
|
||||||
- Issue #23004: mock_open() now reads binary data correctly when the type of
|
|
||||||
read_data is bytes. Initial patch by Aaron Hill.
|
|
||||||
|
|
||||||
- Issue #23888: Handle fractional time in cookie expiry. Patch by ssh.
|
|
||||||
|
|
||||||
- Issue #23652: Make it possible to compile the select module against the
|
|
||||||
libc headers from the Linux Standard Base, which do not include some
|
|
||||||
EPOLL macros. Patch by Matt Frank.
|
|
||||||
|
|
||||||
- Issue #22932: Fix timezones in email.utils.formatdate.
|
|
||||||
Patch from Dmitry Shachnev.
|
|
||||||
|
|
||||||
- Issue #23779: imaplib raises TypeError if authenticator tries to abort.
|
|
||||||
Patch from Craig Holmquist.
|
|
||||||
|
|
||||||
- Issue #24360: Improve __repr__ of argparse.Namespace() for invalid
|
- Issue #24360: Improve __repr__ of argparse.Namespace() for invalid
|
||||||
identifiers. Patch by Matthias Bussonnier.
|
identifiers. Patch by Matthias Bussonnier.
|
||||||
|
|
||||||
- Issue #23319: Fix ctypes.BigEndianStructure, swap correctly bytes. Patch
|
|
||||||
written by Matthieu Gautier.
|
|
||||||
|
|
||||||
- Issue #19450: Update Windows and OS X installer builds to use SQLite 3.8.11.
|
|
||||||
|
|
||||||
- Issue #23254: Document how to close the TCPServer listening socket.
|
|
||||||
Patch from Martin Panter.
|
|
||||||
|
|
||||||
- Issue #23426: run_setup was broken in distutils.
|
- Issue #23426: run_setup was broken in distutils.
|
||||||
Patch from Alexander Belopolsky.
|
Patch from Alexander Belopolsky.
|
||||||
|
|
||||||
- Issue #17527: Add PATCH to wsgiref.validator. Patch from Luca Sbardella.
|
|
||||||
|
|
||||||
- Issue #13938: 2to3 converts StringTypes to a tuple. Patch from Mark Hammond.
|
- Issue #13938: 2to3 converts StringTypes to a tuple. Patch from Mark Hammond.
|
||||||
|
|
||||||
- Issue #2091: open() accepted a 'U' mode string containing '+', but 'U' can
|
- Issue #2091: open() accepted a 'U' mode string containing '+', but 'U' can
|
||||||
|
@ -108,15 +58,142 @@ Library
|
||||||
- Issue #13248: Remove deprecated inspect.getargspec and inspect.getmoduleinfo
|
- Issue #13248: Remove deprecated inspect.getargspec and inspect.getmoduleinfo
|
||||||
functions.
|
functions.
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Tests
|
||||||
|
-----
|
||||||
|
|
||||||
|
|
||||||
|
What's New in Python 3.5.1
|
||||||
|
==========================
|
||||||
|
|
||||||
|
Release date: TBA
|
||||||
|
|
||||||
|
Core and Builtins
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Library
|
||||||
|
-------
|
||||||
|
|
||||||
|
- Issue #24764: cgi.FieldStorage.read_multi() now ignores the Content-Length
|
||||||
|
header in part headers. Patch written by Peter Landry and reviewed by Pierre
|
||||||
|
Quentel.
|
||||||
|
|
||||||
|
- Issue #24774: Fix docstring in http.server.test. Patch from Chiu-Hsiang Hsu.
|
||||||
|
|
||||||
|
- Issue #21159: Improve message in configparser.InterpolationMissingOptionError.
|
||||||
|
Patch from Łukasz Langa.
|
||||||
|
|
||||||
|
- Issue #20362: Honour TestCase.longMessage correctly in assertRegex.
|
||||||
|
Patch from Ilia Kurenkov.
|
||||||
|
|
||||||
|
- Issue #23572: Fixed functools.singledispatch on classes with falsy
|
||||||
|
metaclasses. Patch by Ethan Furman.
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- Issue #23725: Overhaul tempfile docs. Note deprecated status of mktemp.
|
||||||
|
Patch from Zbigniew Jędrzejewski-Szmek.
|
||||||
|
|
||||||
|
- Issue #24808: Update the types of some PyTypeObject fields. Patch by
|
||||||
|
Joseph Weston.
|
||||||
|
|
||||||
|
- Issue #22812: Fix unittest discovery examples.
|
||||||
|
Patch from Pam McA'Nulty.
|
||||||
|
|
||||||
|
|
||||||
|
What's New in Python 3.5.0 release candidate 2?
|
||||||
|
===============================================
|
||||||
|
|
||||||
|
Release date: 2015-08-25
|
||||||
|
|
||||||
|
Core and Builtins
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
- Issue #24769: Interpreter now starts properly when dynamic loading
|
||||||
|
is disabled. Patch by Petr Viktorin.
|
||||||
|
|
||||||
|
- Issue #21167: NAN operations are now handled correctly when python is
|
||||||
|
compiled with ICC even if -fp-model strict is not specified.
|
||||||
|
|
||||||
|
- Issue #24492: A "package" lacking a __name__ attribute when trying to perform
|
||||||
|
a ``from .. import ...`` statement will trigger an ImportError instead of an
|
||||||
|
AttributeError.
|
||||||
|
|
||||||
|
Library
|
||||||
|
-------
|
||||||
|
|
||||||
|
- Issue #24847: Removes vcruntime140.dll dependency from Tcl/Tk.
|
||||||
|
|
||||||
|
- Issue #24839: platform._syscmd_ver raises DeprecationWarning
|
||||||
|
|
||||||
- Issue #24867: Fix Task.get_stack() for 'async def' coroutines
|
- Issue #24867: Fix Task.get_stack() for 'async def' coroutines
|
||||||
|
|
||||||
|
|
||||||
|
What's New in Python 3.5.0 release candidate 1?
|
||||||
|
===============================================
|
||||||
|
|
||||||
|
Release date: 2015-08-09
|
||||||
|
|
||||||
|
Core and Builtins
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
- Issue #24667: Resize odict in all cases that the underlying dict resizes.
|
||||||
|
|
||||||
|
Library
|
||||||
|
-------
|
||||||
|
|
||||||
|
- Issue #24824: Signatures of codecs.encode() and codecs.decode() now are
|
||||||
|
compatible with pydoc.
|
||||||
|
|
||||||
|
- Issue #24634: Importing uuid should not try to load libc on Windows
|
||||||
|
|
||||||
|
- Issue #24798: _msvccompiler.py doesn't properly support manifests
|
||||||
|
|
||||||
|
- Issue #4395: Better testing and documentation of binary operators.
|
||||||
|
Patch by Martin Panter.
|
||||||
|
|
||||||
|
- Issue #23973: Update typing.py from GitHub repo.
|
||||||
|
|
||||||
|
- Issue #23004: mock_open() now reads binary data correctly when the type of
|
||||||
|
read_data is bytes. Initial patch by Aaron Hill.
|
||||||
|
|
||||||
|
- Issue #23888: Handle fractional time in cookie expiry. Patch by ssh.
|
||||||
|
|
||||||
|
- Issue #23652: Make it possible to compile the select module against the
|
||||||
|
libc headers from the Linux Standard Base, which do not include some
|
||||||
|
EPOLL macros. Patch by Matt Frank.
|
||||||
|
|
||||||
|
- Issue #22932: Fix timezones in email.utils.formatdate.
|
||||||
|
Patch from Dmitry Shachnev.
|
||||||
|
|
||||||
|
- Issue #23779: imaplib raises TypeError if authenticator tries to abort.
|
||||||
|
Patch from Craig Holmquist.
|
||||||
|
|
||||||
|
- Issue #23319: Fix ctypes.BigEndianStructure, swap correctly bytes. Patch
|
||||||
|
written by Matthieu Gautier.
|
||||||
|
|
||||||
|
- Issue #23254: Document how to close the TCPServer listening socket.
|
||||||
|
Patch from Martin Panter.
|
||||||
|
|
||||||
|
- Issue #19450: Update Windows and OS X installer builds to use SQLite 3.8.11.
|
||||||
|
|
||||||
|
- Issue #17527: Add PATCH to wsgiref.validator. Patch from Luca Sbardella.
|
||||||
|
|
||||||
|
- Issue #23812: Fix asyncio.Queue.get() to avoid loosing items on cancellation.
|
||||||
|
Patch by Gustavo J. A. M. Carneiro.
|
||||||
|
|
||||||
|
- Issue #24791: Fix grammar regression for call syntax: 'g(*a or b)'.
|
||||||
|
|
||||||
IDLE
|
IDLE
|
||||||
----
|
----
|
||||||
|
|
||||||
- Issue #23672: Allow Idle to edit and run files with astral chars in name.
|
- Issue #23672: Allow Idle to edit and run files with astral chars in name.
|
||||||
Patch by Mohd Sanad Zaki Rizvi.
|
Patch by Mohd Sanad Zaki Rizvi.
|
||||||
|
|
||||||
- Issue 24745: Idle editor default font. Switch from Courier to
|
- Issue #24745: Idle editor default font. Switch from Courier to
|
||||||
platform-sensitive TkFixedFont. This should not affect current customized
|
platform-sensitive TkFixedFont. This should not affect current customized
|
||||||
font selections. If there is a problem, edit $HOME/.idlerc/config-main.cfg
|
font selections. If there is a problem, edit $HOME/.idlerc/config-main.cfg
|
||||||
and remove 'fontxxx' entries from [Editor Window]. Patch by Mark Roseman.
|
and remove 'fontxxx' entries from [Editor Window]. Patch by Mark Roseman.
|
||||||
|
@ -129,15 +206,6 @@ IDLE
|
||||||
Documentation
|
Documentation
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
- Issue #24808: Update the types of some PyTypeObject fields. Patch by
|
|
||||||
Joseph Weston.
|
|
||||||
|
|
||||||
- Issue #22812: Fix unittest discovery examples.
|
|
||||||
Patch from Pam McA'Nulty.
|
|
||||||
|
|
||||||
- Issue #23725: Overhaul tempfile docs. Note deprecated status of mktemp.
|
|
||||||
Patch from Zbigniew Jędrzejewski-Szmek.
|
|
||||||
|
|
||||||
- Issue #24129: Clarify the reference documentation for name resolution.
|
- Issue #24129: Clarify the reference documentation for name resolution.
|
||||||
This includes removing the assumption that readers will be familiar with the
|
This includes removing the assumption that readers will be familiar with the
|
||||||
name resolution scheme Python used prior to the introduction of lexical
|
name resolution scheme Python used prior to the introduction of lexical
|
||||||
|
@ -455,14 +523,14 @@ Library
|
||||||
- Issue #14373: Added C implementation of functools.lru_cache(). Based on
|
- Issue #14373: Added C implementation of functools.lru_cache(). Based on
|
||||||
patches by Matt Joiner and Alexey Kachayev.
|
patches by Matt Joiner and Alexey Kachayev.
|
||||||
|
|
||||||
- Issue 24230: The tempfile module now accepts bytes for prefix, suffix and dir
|
- Issue #24230: The tempfile module now accepts bytes for prefix, suffix and dir
|
||||||
parameters and returns bytes in such situations (matching the os module APIs).
|
parameters and returns bytes in such situations (matching the os module APIs).
|
||||||
|
|
||||||
- Issue #22189: collections.UserString now supports __getnewargs__(),
|
- Issue #22189: collections.UserString now supports __getnewargs__(),
|
||||||
__rmod__(), casefold(), format_map(), isprintable(), and maketrans().
|
__rmod__(), casefold(), format_map(), isprintable(), and maketrans().
|
||||||
Patch by Joe Jevnik.
|
Patch by Joe Jevnik.
|
||||||
|
|
||||||
- Issue 24244: Prevents termination when an invalid format string is
|
- Issue #24244: Prevents termination when an invalid format string is
|
||||||
encountered on Windows in strftime.
|
encountered on Windows in strftime.
|
||||||
|
|
||||||
- Issue #23973: PEP 484: Add the typing module.
|
- Issue #23973: PEP 484: Add the typing module.
|
||||||
|
@ -600,26 +668,26 @@ Library
|
||||||
|
|
||||||
- asyncio: async() function is deprecated in favour of ensure_future().
|
- asyncio: async() function is deprecated in favour of ensure_future().
|
||||||
|
|
||||||
- Issue 24178: asyncio.Lock, Condition, Semaphore, and BoundedSemaphore
|
- Issue #24178: asyncio.Lock, Condition, Semaphore, and BoundedSemaphore
|
||||||
support new 'async with' syntax. Contributed by Yury Selivanov.
|
support new 'async with' syntax. Contributed by Yury Selivanov.
|
||||||
|
|
||||||
- Issue 24179: Support 'async for' for asyncio.StreamReader.
|
- Issue #24179: Support 'async for' for asyncio.StreamReader.
|
||||||
Contributed by Yury Selivanov.
|
Contributed by Yury Selivanov.
|
||||||
|
|
||||||
- Issue 24184: Add AsyncIterator and AsyncIterable ABCs to
|
- Issue #24184: Add AsyncIterator and AsyncIterable ABCs to
|
||||||
collections.abc. Contributed by Yury Selivanov.
|
collections.abc. Contributed by Yury Selivanov.
|
||||||
|
|
||||||
- Issue 22547: Implement informative __repr__ for inspect.BoundArguments.
|
- Issue #22547: Implement informative __repr__ for inspect.BoundArguments.
|
||||||
Contributed by Yury Selivanov.
|
Contributed by Yury Selivanov.
|
||||||
|
|
||||||
- Issue 24190: Implement inspect.BoundArgument.apply_defaults() method.
|
- Issue #24190: Implement inspect.BoundArgument.apply_defaults() method.
|
||||||
Contributed by Yury Selivanov.
|
Contributed by Yury Selivanov.
|
||||||
|
|
||||||
- Issue 20691: Add 'follow_wrapped' argument to
|
- Issue #20691: Add 'follow_wrapped' argument to
|
||||||
inspect.Signature.from_callable() and inspect.signature().
|
inspect.Signature.from_callable() and inspect.signature().
|
||||||
Contributed by Yury Selivanov.
|
Contributed by Yury Selivanov.
|
||||||
|
|
||||||
- Issue 24248: Deprecate inspect.Signature.from_function() and
|
- Issue #24248: Deprecate inspect.Signature.from_function() and
|
||||||
inspect.Signature.from_builtin().
|
inspect.Signature.from_builtin().
|
||||||
|
|
||||||
- Issue #23898: Fix inspect.classify_class_attrs() to support attributes
|
- Issue #23898: Fix inspect.classify_class_attrs() to support attributes
|
||||||
|
@ -721,7 +789,7 @@ Library
|
||||||
|
|
||||||
- Issue #4254: Adds _curses.update_lines_cols() Patch by Arnon Yaari
|
- Issue #4254: Adds _curses.update_lines_cols() Patch by Arnon Yaari
|
||||||
|
|
||||||
- Issue 19933: Provide default argument for ndigits in round. Patch by
|
- Issue #19933: Provide default argument for ndigits in round. Patch by
|
||||||
Vajrasky Kok.
|
Vajrasky Kok.
|
||||||
|
|
||||||
- Issue #23193: Add a numeric_owner parameter to
|
- Issue #23193: Add a numeric_owner parameter to
|
||||||
|
@ -2537,7 +2605,7 @@ Library
|
||||||
- Issue #13936: Remove the ability of datetime.time instances to be considered
|
- Issue #13936: Remove the ability of datetime.time instances to be considered
|
||||||
false in boolean contexts.
|
false in boolean contexts.
|
||||||
|
|
||||||
- Issue 18931: selectors module now supports /dev/poll on Solaris.
|
- Issue #18931: selectors module now supports /dev/poll on Solaris.
|
||||||
Patch by Giampaolo Rodola'.
|
Patch by Giampaolo Rodola'.
|
||||||
|
|
||||||
- Issue #19977: When the ``LC_TYPE`` locale is the POSIX locale (``C`` locale),
|
- Issue #19977: When the ``LC_TYPE`` locale is the POSIX locale (``C`` locale),
|
||||||
|
|
|
@ -318,6 +318,33 @@ exit:
|
||||||
|
|
||||||
#endif /* defined(HAVE_DYNAMIC_LOADING) */
|
#endif /* defined(HAVE_DYNAMIC_LOADING) */
|
||||||
|
|
||||||
|
PyDoc_STRVAR(_imp_exec_builtin__doc__,
|
||||||
|
"exec_builtin($module, mod, /)\n"
|
||||||
|
"--\n"
|
||||||
|
"\n"
|
||||||
|
"Initialize a built-in module.");
|
||||||
|
|
||||||
|
#define _IMP_EXEC_BUILTIN_METHODDEF \
|
||||||
|
{"exec_builtin", (PyCFunction)_imp_exec_builtin, METH_O, _imp_exec_builtin__doc__},
|
||||||
|
|
||||||
|
static int
|
||||||
|
_imp_exec_builtin_impl(PyModuleDef *module, PyObject *mod);
|
||||||
|
|
||||||
|
static PyObject *
|
||||||
|
_imp_exec_builtin(PyModuleDef *module, PyObject *mod)
|
||||||
|
{
|
||||||
|
PyObject *return_value = NULL;
|
||||||
|
int _return_value;
|
||||||
|
|
||||||
|
_return_value = _imp_exec_builtin_impl(module, mod);
|
||||||
|
if ((_return_value == -1) && PyErr_Occurred())
|
||||||
|
goto exit;
|
||||||
|
return_value = PyLong_FromLong((long)_return_value);
|
||||||
|
|
||||||
|
exit:
|
||||||
|
return return_value;
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef _IMP_CREATE_DYNAMIC_METHODDEF
|
#ifndef _IMP_CREATE_DYNAMIC_METHODDEF
|
||||||
#define _IMP_CREATE_DYNAMIC_METHODDEF
|
#define _IMP_CREATE_DYNAMIC_METHODDEF
|
||||||
#endif /* !defined(_IMP_CREATE_DYNAMIC_METHODDEF) */
|
#endif /* !defined(_IMP_CREATE_DYNAMIC_METHODDEF) */
|
||||||
|
@ -325,4 +352,4 @@ exit:
|
||||||
#ifndef _IMP_EXEC_DYNAMIC_METHODDEF
|
#ifndef _IMP_EXEC_DYNAMIC_METHODDEF
|
||||||
#define _IMP_EXEC_DYNAMIC_METHODDEF
|
#define _IMP_EXEC_DYNAMIC_METHODDEF
|
||||||
#endif /* !defined(_IMP_EXEC_DYNAMIC_METHODDEF) */
|
#endif /* !defined(_IMP_EXEC_DYNAMIC_METHODDEF) */
|
||||||
/*[clinic end generated code: output=0f1059766dd58f88 input=a9049054013a1b77]*/
|
/*[clinic end generated code: output=32324a5e46cdfc4b input=a9049054013a1b77]*/
|
||||||
|
|
|
@ -1943,6 +1943,34 @@ _imp_is_frozen_impl(PyModuleDef *module, PyObject *name)
|
||||||
return PyBool_FromLong((long) (p == NULL ? 0 : p->size));
|
return PyBool_FromLong((long) (p == NULL ? 0 : p->size));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Common implementation for _imp.exec_dynamic and _imp.exec_builtin */
|
||||||
|
static int
|
||||||
|
exec_builtin_or_dynamic(PyObject *mod) {
|
||||||
|
PyModuleDef *def;
|
||||||
|
void *state;
|
||||||
|
|
||||||
|
if (!PyModule_Check(mod)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
def = PyModule_GetDef(mod);
|
||||||
|
if (def == NULL) {
|
||||||
|
if (PyErr_Occurred()) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
state = PyModule_GetState(mod);
|
||||||
|
if (PyErr_Occurred()) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (state) {
|
||||||
|
/* Already initialized; skip reload */
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return PyModule_ExecDef(mod, def);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef HAVE_DYNAMIC_LOADING
|
#ifdef HAVE_DYNAMIC_LOADING
|
||||||
|
|
||||||
/*[clinic input]
|
/*[clinic input]
|
||||||
|
@ -2014,34 +2042,28 @@ static int
|
||||||
_imp_exec_dynamic_impl(PyModuleDef *module, PyObject *mod)
|
_imp_exec_dynamic_impl(PyModuleDef *module, PyObject *mod)
|
||||||
/*[clinic end generated code: output=4b84f1301b22d4bd input=9fdbfcb250280d3a]*/
|
/*[clinic end generated code: output=4b84f1301b22d4bd input=9fdbfcb250280d3a]*/
|
||||||
{
|
{
|
||||||
PyModuleDef *def;
|
return exec_builtin_or_dynamic(mod);
|
||||||
void *state;
|
|
||||||
|
|
||||||
if (!PyModule_Check(mod)) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
def = PyModule_GetDef(mod);
|
|
||||||
if (def == NULL) {
|
|
||||||
if (PyErr_Occurred()) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
state = PyModule_GetState(mod);
|
|
||||||
if (PyErr_Occurred()) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
if (state) {
|
|
||||||
/* Already initialized; skip reload */
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return PyModule_ExecDef(mod, def);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#endif /* HAVE_DYNAMIC_LOADING */
|
#endif /* HAVE_DYNAMIC_LOADING */
|
||||||
|
|
||||||
|
/*[clinic input]
|
||||||
|
_imp.exec_builtin -> int
|
||||||
|
|
||||||
|
mod: object
|
||||||
|
/
|
||||||
|
|
||||||
|
Initialize a built-in module.
|
||||||
|
[clinic start generated code]*/
|
||||||
|
|
||||||
|
static int
|
||||||
|
_imp_exec_builtin_impl(PyModuleDef *module, PyObject *mod)
|
||||||
|
/*[clinic end generated code: output=215e99876a27e284 input=7beed5a2f12a60ca]*/
|
||||||
|
{
|
||||||
|
return exec_builtin_or_dynamic(mod);
|
||||||
|
}
|
||||||
|
|
||||||
/*[clinic input]
|
/*[clinic input]
|
||||||
dump buffer
|
dump buffer
|
||||||
[clinic start generated code]*/
|
[clinic start generated code]*/
|
||||||
|
@ -2064,6 +2086,7 @@ static PyMethodDef imp_methods[] = {
|
||||||
_IMP_IS_FROZEN_METHODDEF
|
_IMP_IS_FROZEN_METHODDEF
|
||||||
_IMP_CREATE_DYNAMIC_METHODDEF
|
_IMP_CREATE_DYNAMIC_METHODDEF
|
||||||
_IMP_EXEC_DYNAMIC_METHODDEF
|
_IMP_EXEC_DYNAMIC_METHODDEF
|
||||||
|
_IMP_EXEC_BUILTIN_METHODDEF
|
||||||
_IMP__FIX_CO_FILENAME_METHODDEF
|
_IMP__FIX_CO_FILENAME_METHODDEF
|
||||||
{NULL, NULL} /* sentinel */
|
{NULL, NULL} /* sentinel */
|
||||||
};
|
};
|
||||||
|
|
|
@ -1304,7 +1304,7 @@ const unsigned char _Py_M__importlib[] = {
|
||||||
0,1,100,1,0,83,41,2,122,22,69,120,101,99,32,97,
|
0,1,100,1,0,83,41,2,122,22,69,120,101,99,32,97,
|
||||||
32,98,117,105,108,116,45,105,110,32,109,111,100,117,108,101,
|
32,98,117,105,108,116,45,105,110,32,109,111,100,117,108,101,
|
||||||
78,41,3,114,65,0,0,0,114,57,0,0,0,90,12,101,
|
78,41,3,114,65,0,0,0,114,57,0,0,0,90,12,101,
|
||||||
120,101,99,95,100,121,110,97,109,105,99,41,2,114,19,0,
|
120,101,99,95,98,117,105,108,116,105,110,41,2,114,19,0,
|
||||||
0,0,114,89,0,0,0,114,10,0,0,0,114,10,0,0,
|
0,0,114,89,0,0,0,114,10,0,0,0,114,10,0,0,
|
||||||
0,114,11,0,0,0,114,139,0,0,0,233,2,0,0,115,
|
0,114,11,0,0,0,114,139,0,0,0,233,2,0,0,115,
|
||||||
2,0,0,0,0,3,122,27,66,117,105,108,116,105,110,73,
|
2,0,0,0,0,3,122,27,66,117,105,108,116,105,110,73,
|
||||||
|
|
2
README
2
README
|
@ -166,7 +166,7 @@ http://www.python.org/dev/peps/.
|
||||||
Release Schedule
|
Release Schedule
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
See PEP 478 for release details: http://www.python.org/dev/peps/pep-0478/
|
See PEP 494 for release details: http://www.python.org/dev/peps/pep-0494/
|
||||||
|
|
||||||
|
|
||||||
Copyright and License Information
|
Copyright and License Information
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue