summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrett Cannon <brett@python.org>2013-03-17 22:49:21 (GMT)
committerBrett Cannon <brett@python.org>2013-03-17 22:49:21 (GMT)
commit5a948a7eeee0090a10aaaf97c1b4093090acf184 (patch)
treecb0535405c44212cf4f6818ac9fcb7123fd3bffb
parent15cddb498ec8e8d780384c2d459557012b2c9eea (diff)
parent3e2fe05e62e061032d81becb2f9ef1a8def54f63 (diff)
downloadcpython-5a948a7eeee0090a10aaaf97c1b4093090acf184.zip
cpython-5a948a7eeee0090a10aaaf97c1b4093090acf184.tar.gz
cpython-5a948a7eeee0090a10aaaf97c1b4093090acf184.tar.bz2
merge
-rw-r--r--Lib/imp.py9
-rw-r--r--Misc/NEWS2
2 files changed, 9 insertions, 2 deletions
diff --git a/Lib/imp.py b/Lib/imp.py
index da9c84e..7a7079f 100644
--- a/Lib/imp.py
+++ b/Lib/imp.py
@@ -7,9 +7,14 @@ functionality over this module.
"""
# (Probably) need to stay in _imp
from _imp import (lock_held, acquire_lock, release_lock,
- load_dynamic, get_frozen_object, is_frozen_package,
+ get_frozen_object, is_frozen_package,
init_builtin, init_frozen, is_builtin, is_frozen,
_fix_co_filename)
+try:
+ from _imp import load_dynamic
+except ImportError:
+ # Platform doesn't support dynamic loading.
+ load_dynamic = None
# Directly exposed by this module
from importlib._bootstrap import new_module
@@ -160,7 +165,7 @@ def load_module(name, file, filename, details):
return load_source(name, filename, file)
elif type_ == PY_COMPILED:
return load_compiled(name, filename, file)
- elif type_ == C_EXTENSION:
+ elif type_ == C_EXTENSION and load_dynamic is not None:
return load_dynamic(name, filename, file)
elif type_ == PKG_DIRECTORY:
return load_package(name, filename)
diff --git a/Misc/NEWS b/Misc/NEWS
index 33bdc71..f55ba1e 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -283,6 +283,8 @@ Core and Builtins
Library
-------
+Issue #16880: Do not assume _imp.load_dynamic() is defined in the imp module.
+
- Issue #16389: Fixed a performance regression relative to Python 3.1 in the
caching of compiled regular expressions.