summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLarry Hastings <larry@hastings.org>2015-08-25 21:21:59 (GMT)
committerLarry Hastings <larry@hastings.org>2015-08-25 21:21:59 (GMT)
commit45d1c0083115b11dff4acbc76232633262f7b1a8 (patch)
tree263010dc1d82ddc2283fd61671c22da129a40974
parentccf426e7e77472b1ff1a919791aa3dd402836b83 (diff)
parent06a7d611da25fab11b7a7ab7a7f0bbce7d6a65fd (diff)
downloadcpython-45d1c0083115b11dff4acbc76232633262f7b1a8.zip
cpython-45d1c0083115b11dff4acbc76232633262f7b1a8.tar.gz
cpython-45d1c0083115b11dff4acbc76232633262f7b1a8.tar.bz2
Merge from 3.5 (with 3.5.0rc2 changes) into default (3.6). Messy!
-rw-r--r--.hgtags1
-rw-r--r--Lib/importlib/_bootstrap.py2
-rw-r--r--Misc/NEWS198
-rw-r--r--Python/clinic/import.c.h29
-rw-r--r--Python/import.c69
-rw-r--r--Python/importlib.h2
-rw-r--r--README2
7 files changed, 211 insertions, 92 deletions
diff --git a/.hgtags b/.hgtags
index ab6ce65..b1aa75d 100644
--- a/.hgtags
+++ b/.hgtags
@@ -153,3 +153,4 @@ b4cbecbc0781e89a309d03b60a1f75f8499250e6 v3.4.3
0035fcd9b9243ae52c2e830204fd9c1f7d528534 v3.5.0b3
c0d64105463581f85d0e368e8d6e59b7fd8f12b1 v3.5.0b4
1a58b1227501e046eee13d90f113417b60843301 v3.5.0rc1
+cc15d736d860303b9da90d43cd32db39bab048df v3.5.0rc2
diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py
index 931754e..6f62bb3 100644
--- a/Lib/importlib/_bootstrap.py
+++ b/Lib/importlib/_bootstrap.py
@@ -745,7 +745,7 @@ class BuiltinImporter:
@classmethod
def exec_module(self, module):
"""Exec a built-in module"""
- _call_with_frames_removed(_imp.exec_dynamic, module)
+ _call_with_frames_removed(_imp.exec_builtin, module)
@classmethod
@_requires_builtin
diff --git a/Misc/NEWS b/Misc/NEWS
index e12494c..0440152 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,36 +10,19 @@ Release date: XXXX-XX-XX
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
argument list of a function declaration. For example, "def f(*, a =
3,): pass" is now legal. Patch from Mark Dickinson.
-- Issue #24667: Resize odict in all cases that the underlying dict resizes.
-
Library
-------
- 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
order they were defined rather than alphabetically. The ordering is
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
pickle more compact.
@@ -49,9 +32,126 @@ Library
- Issue #20059: urllib.parse raises ValueError on all invalid ports.
Patch by Martin Panter.
+- Issue #24360: Improve __repr__ of argparse.Namespace() for invalid
+ identifiers. Patch by Matthias Bussonnier.
+
+- Issue #23426: run_setup was broken in distutils.
+ Patch from Alexander Belopolsky.
+
+- Issue #13938: 2to3 converts StringTypes to a tuple. Patch from Mark Hammond.
+
+- Issue #2091: open() accepted a 'U' mode string containing '+', but 'U' can
+ only be used with 'r'. Patch from Jeff Balogh and John O'Connor.
+
+- Issue #8585: improved tests for zipimporter2. Patch from Mark Lawrence.
+
+- Issue #18622: unittest.mock.mock_open().reset_mock would recurse infinitely.
+ Patch from Nicola Palumbo and Laurent De Buyst.
+
+- Issue #24426: Fast searching optimization in regular expressions now works
+ for patterns that starts with capturing groups. Fast searching optimization
+ now can't be disabled at compile time.
+
+- Issue #23661: unittest.mock side_effects can now be exceptions again. This
+ was a regression vs Python 3.4. Patch from Ignacio Rossi
+
+- Issue #13248: Remove deprecated inspect.getargspec and inspect.getmoduleinfo
+ 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
+
+
+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.
@@ -72,43 +172,20 @@ Library
- Issue #23779: imaplib raises TypeError if authenticator tries to abort.
Patch from Craig Holmquist.
-- Issue #24360: Improve __repr__ of argparse.Namespace() for invalid
- 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.
- Patch from Alexander Belopolsky.
+- 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 #13938: 2to3 converts StringTypes to a tuple. Patch from Mark Hammond.
+- Issue #23812: Fix asyncio.Queue.get() to avoid loosing items on cancellation.
+ Patch by Gustavo J. A. M. Carneiro.
-- Issue #2091: open() accepted a 'U' mode string containing '+', but 'U' can
- only be used with 'r'. Patch from Jeff Balogh and John O'Connor.
-
-- Issue #8585: improved tests for zipimporter2. Patch from Mark Lawrence.
-
-- Issue #18622: unittest.mock.mock_open().reset_mock would recurse infinitely.
- Patch from Nicola Palumbo and Laurent De Buyst.
-
-- Issue #24426: Fast searching optimization in regular expressions now works
- for patterns that starts with capturing groups. Fast searching optimization
- now can't be disabled at compile time.
-
-- Issue #23661: unittest.mock side_effects can now be exceptions again. This
- was a regression vs Python 3.4. Patch from Ignacio Rossi
-
-- Issue #13248: Remove deprecated inspect.getargspec and inspect.getmoduleinfo
- functions.
-
-- Issue #24867: Fix Task.get_stack() for 'async def' coroutines
+- Issue #24791: Fix grammar regression for call syntax: 'g(*a or b)'.
IDLE
----
@@ -116,7 +193,7 @@ IDLE
- Issue #23672: Allow Idle to edit and run files with astral chars in name.
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
font selections. If there is a problem, edit $HOME/.idlerc/config-main.cfg
and remove 'fontxxx' entries from [Editor Window]. Patch by Mark Roseman.
@@ -129,15 +206,6 @@ IDLE
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.
This includes removing the assumption that readers will be familiar with the
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
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).
- Issue #22189: collections.UserString now supports __getnewargs__(),
__rmod__(), casefold(), format_map(), isprintable(), and maketrans().
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.
- Issue #23973: PEP 484: Add the typing module.
@@ -600,26 +668,26 @@ Library
- 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.
-- Issue 24179: Support 'async for' for asyncio.StreamReader.
+- Issue #24179: Support 'async for' for asyncio.StreamReader.
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.
-- Issue 22547: Implement informative __repr__ for inspect.BoundArguments.
+- Issue #22547: Implement informative __repr__ for inspect.BoundArguments.
Contributed by Yury Selivanov.
-- Issue 24190: Implement inspect.BoundArgument.apply_defaults() method.
+- Issue #24190: Implement inspect.BoundArgument.apply_defaults() method.
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().
Contributed by Yury Selivanov.
-- Issue 24248: Deprecate inspect.Signature.from_function() and
+- Issue #24248: Deprecate inspect.Signature.from_function() and
inspect.Signature.from_builtin().
- 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 19933: Provide default argument for ndigits in round. Patch by
+- Issue #19933: Provide default argument for ndigits in round. Patch by
Vajrasky Kok.
- 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
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'.
- Issue #19977: When the ``LC_TYPE`` locale is the POSIX locale (``C`` locale),
diff --git a/Python/clinic/import.c.h b/Python/clinic/import.c.h
index 53b5b17..2477665 100644
--- a/Python/clinic/import.c.h
+++ b/Python/clinic/import.c.h
@@ -318,6 +318,33 @@ exit:
#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
#define _IMP_CREATE_DYNAMIC_METHODDEF
#endif /* !defined(_IMP_CREATE_DYNAMIC_METHODDEF) */
@@ -325,4 +352,4 @@ exit:
#ifndef _IMP_EXEC_DYNAMIC_METHODDEF
#define _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]*/
diff --git a/Python/import.c b/Python/import.c
index 44aae80..edf030d 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -1943,6 +1943,34 @@ _imp_is_frozen_impl(PyModuleDef *module, PyObject *name)
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
/*[clinic input]
@@ -2014,35 +2042,29 @@ static int
_imp_exec_dynamic_impl(PyModuleDef *module, PyObject *mod)
/*[clinic end generated code: output=4b84f1301b22d4bd input=9fdbfcb250280d3a]*/
{
- 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);
+ return exec_builtin_or_dynamic(mod);
}
#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]
dump buffer
[clinic start generated code]*/
/*[clinic end generated code: output=da39a3ee5e6b4b0d input=524ce2e021e4eba6]*/
@@ -2064,6 +2086,7 @@ static PyMethodDef imp_methods[] = {
_IMP_IS_FROZEN_METHODDEF
_IMP_CREATE_DYNAMIC_METHODDEF
_IMP_EXEC_DYNAMIC_METHODDEF
+ _IMP_EXEC_BUILTIN_METHODDEF
_IMP__FIX_CO_FILENAME_METHODDEF
{NULL, NULL} /* sentinel */
};
diff --git a/Python/importlib.h b/Python/importlib.h
index d5d3406..a4daf62 100644
--- a/Python/importlib.h
+++ b/Python/importlib.h
@@ -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,
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,
- 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,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,
diff --git a/README b/README
index 04c282e..f232755 100644
--- a/README
+++ b/README
@@ -166,7 +166,7 @@ http://www.python.org/dev/peps/.
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