From 0ae7ae1fc9fe8891ad3daf26a2dec3967600a7e7 Mon Sep 17 00:00:00 2001 From: R David Murray Date: Wed, 8 Jan 2014 18:16:02 -0500 Subject: [PATCH] whatsnew: InspectLoader.get_code now concrete, b32decode raises binascii.Error. And a news item rephrase. --- Doc/library/importlib.rst | 8 ++++---- Doc/whatsnew/3.4.rst | 12 ++++++++++++ Misc/NEWS | 4 ++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst index dc29b8aa635..a3373e0bb8c 100644 --- a/Doc/library/importlib.rst +++ b/Doc/library/importlib.rst @@ -478,10 +478,10 @@ ABC hierarchy:: .. method:: get_code(fullname) - Return the code object for a module. - ``None`` should be returned if the module does not have a code object - (e.g. built-in module). :exc:`ImportError` is raised if loader cannot - find the requested module. + Return the code object for a module, or ``None`` if the module does not + have a code object (as would be the case, for example, for a built-in + module). Raise an :exc:`ImportError` if loader cannot find the + requested module. .. note:: While the method has a default implementation, it is suggested that diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst index cac02f16897..83f151be25f 100644 --- a/Doc/whatsnew/3.4.rst +++ b/Doc/whatsnew/3.4.rst @@ -750,6 +750,11 @@ data and a path and returns a code object. The default implementation is equivalent to ``compile(data, path, 'exec', dont_inherit=True)``. (Contributed by Eric Snow and Brett Cannon in :issue:`15627`.) +:class:`~importlib.abc.InspectLoader` also now has a default implementation +for the :meth:`~importlib.abc.InspectLoader.get_code` method. However, +it will normally be desirable to override the default implementation +for performance reasons. (Contributed by Brett Cannon in :issue:`18072`.) + inspect ------- @@ -1546,6 +1551,13 @@ Changes in the Python API :exc:`AttributError`. In addition, :meth:`~ssl.SSLSocket.getpeercert` will raise a :exc:`ValueError` if the handshake has not yet been done. +* :func:`base64.b32decode` now raises a :exc:`binascii.Error` when the + input string contains non-b32-alphabet characters, instead of a + :exc:`TypeError`. This particular :exc:`TypeError` was missed when the other + :exc:`TypeError`\ s were converted. (Contributed by Serhiy Storchaka in + :issue:`18011`.) Note: this change was also inadvertently applied in Python + 3.3.3. + Changes in the C API -------------------- diff --git a/Misc/NEWS b/Misc/NEWS index 475a5c5ad68..82b38505a61 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -2144,8 +2144,8 @@ Library - Issue #17269: Workaround for socket.getaddrinfo crash on MacOS X with port None or "0" and flags AI_NUMERICSERV. -- Issue #16986: ElementTree now correctly parses a string input not only when - an internal XML encoding is UTF-8 or US-ASCII. +- Issue #16986: ElementTree now correctly works with string input when the + internal XML encoding is not UTF-8 or US-ASCII. - Issue #17996: socket module now exposes AF_LINK constant on BSD and OSX.