summaryrefslogtreecommitdiffstats
path: root/Python/import.c
Commit message (Collapse)AuthorAgeFilesLines
* [3.6] bpo-33330: Improve error handling in PyImport_Cleanup(). (GH-6564). ↵Serhiy Storchaka2018-04-261-8/+20
| | | | | | (GH-6604) (cherry picked from commit e9d9494d6b2a5e0c2d48d22c7f0d5e95504b4f7e)
* [3.6] bpo-30876: Relative import from unloaded package now reimports the ↵Serhiy Storchaka2017-07-161-7/+0
| | | | | | | | | package (GH-2639) (#2676) instead of failing with SystemError. Relative import from non-package now fails with ImportError rather than SystemError. (cherry picked from commit 8a9cd20edca7d01b68292036029ae3735ce65edd)
* bpo-30891: Fix importlib _find_and_load() race condition (#2646) (#2651)Victor Stinner2017-07-101-4/+0
| | | | | | | * Rewrite importlib _get_module_lock(): it is now responsible to hold the imp lock directly. * _find_and_load() now holds the module lock to check if name is in sys.modules to prevent a race condition (cherry picked from commit 4f9a446f3fb42f800e73cd9414dd1eccb3ca4fa7)
* [3.6] bpo-30814: Fixed a race condition when import a submodule from a ↵Serhiy Storchaka2017-07-061-16/+1
| | | | | package. (GH-2580). (#2598) (cherry picked from commit b4baacee1adc06edbe30ac7574d17a8cd168e2e0)
* [3.6] bpo-30626: Fix error handling in PyImport_Import(). (GH-2103) (#2221)Serhiy Storchaka2017-06-151-2/+6
| | | | | In rare circumstances PyImport_Import() could return NULL without raising an error. (cherry picked from commit 145541c)
* Issue #28701: Replace PyUnicode_CompareWithASCIIString with ↵Serhiy Storchaka2016-11-161-13/+7
|\ | | | | | | | | | | _PyUnicode_EqualToASCIIString. The latter function is more readable, faster and doesn't raise exceptions.
| * Issue #28701: Replace PyUnicode_CompareWithASCIIString with ↵Serhiy Storchaka2016-11-161-13/+7
| | | | | | | | | | | | _PyUnicode_EqualToASCIIString. The latter function is more readable, faster and doesn't raise exceptions.
| * [backport to 3.5] - issue26896 - Disambiguate uses of "importer" with "finder".Senthil Kumaran2016-09-071-3/+4
| |
* | Fix potential NULL pointer dereference in _imp_create_builtinChristian Heimes2016-09-081-0/+4
| | | | | | | | | | | | | | PyModule_GetDef() can return NULL. Let's check the return value properly like in the other five cases. CID 1299590
* | Issue #27911: Remove some unnecessary error checks in import.c.Brett Cannon2016-09-081-6/+2
| | | | | | | | Thanks to Xiang Zhang for the patch.
* | Issue #15767: Use ModuleNotFoundError.Eric Snow2016-09-071-1/+2
| |
* | MergeRaymond Hettinger2016-08-311-1/+1
|\ \ | |/
| * Issue #27909: Fix INCREF for possible NULL valueRaymond Hettinger2016-08-311-1/+1
| |
* | Issue #22557: Now importing already imported modules is up to 2.5 times faster.Serhiy Storchaka2016-08-021-218/+177
| |
* | Issue #27419: Added temporary workaround for subinterpreters.Serhiy Storchaka2016-07-171-1/+4
|\ \ | |/
| * Issue #27419: Added temporary workaround for subinterpreters.Serhiy Storchaka2016-07-171-1/+4
| |
* | Issue #27419: Standard __import__() no longer look up "__import__" in globalsSerhiy Storchaka2016-07-171-8/+4
|\ \ | |/ | | | | | | | | or builtins for importing submodules or "from import". Fixed a crash if raise a warning about unabling to resolve package from __spec__ or __package__.
| * Issue #27419: Standard __import__() no longer look up "__import__" in globalsSerhiy Storchaka2016-07-171-8/+4
| | | | | | | | | | or builtins for importing submodules or "from import". Fixed handling an error of non-string package name.
* | Issue #26896: Disambiguate uses of "importer" with "finder".Brett Cannon2016-07-081-3/+4
| | | | | | | | Thanks to Oren Milman for the patch.
* | - Issue #27332: Fixed the type of the first argument of module-level functionsSerhiy Storchaka2016-07-071-28/+28
|\ \ | |/ | | | | generated by Argument Clinic. Patch by Petr Viktorin.
| * Issue #27332: Fixed the type of the first argument of module-level functionsSerhiy Storchaka2016-07-071-28/+28
| | | | | | | | generated by Argument Clinic. Patch by Petr Viktorin.
* | Cleanup import.cVictor Stinner2016-05-201-39/+28
| | | | | | | | | | | | | | | | | | * Replace PyUnicode_RPartition() with PyUnicode_FindChar() and PyUnicode_Substring() to avoid the creation of a temporary tuple. * Use PyUnicode_FromFormat() to build a string and avoid the single_dot ('.') singleton Thanks Serhiy Storchaka for your review.
* | fs_unicode_converter is no longer used.Serhiy Storchaka2016-04-141-8/+0
| |
* | Issue #22570: Renamed Py_SETREF to Py_XSETREF.Serhiy Storchaka2016-04-061-2/+2
|\ \ | |/
* | Issue #25698: Prevent possible replacing imported module with the empty oneSerhiy Storchaka2016-02-101-2/+6
|\ \ | |/ | | | | if the stack is too deep.
| * Issue #25698: Prevent possible replacing imported module with the empty oneSerhiy Storchaka2016-02-101-2/+6
| | | | | | | | if the stack is too deep.
* | Issue #18018: Raise an ImportError if a relative import is attemptedBrett Cannon2016-01-231-3/+8
| | | | | | | | | | | | | | | | with no known parent package. Previously SystemError was raised if the parent package didn't exist (e.g., __package__ was set to ''). Thanks to Florent Xicluna and Yongzhi Pan for reporting the issue.
* | Issue #25791: Warn when __package__ != __spec__.parent.Brett Cannon2016-01-221-39/+58
| | | | | | | | | | | | | | | | | | In a previous change, __spec__.parent was prioritized over __package__. That is a backwards-compatibility break, but we do eventually want __spec__ to be the ground truth for module details. So this change reverts the change in semantics and instead raises an ImportWarning when __package__ != __spec__.parent to give people time to adjust to using spec objects.
* | Issue #25791: Raise an ImportWarning when __spec__ or __package__ areBrett Cannon2016-01-151-21/+43
| | | | | | | | | | | | | | | | not defined for a relative import. This is the start of work to try and clean up import semantics to rely more on a module's spec than on the myriad attributes that get set on a module. Thanks to Rose Ames for the patch.
* | Issue #20440: Cleaning up the code by using Py_SETREF.Serhiy Storchaka2016-01-051-7/+3
| |
* | Issue #25923: Added the const qualifier to static constant arrays.Serhiy Storchaka2015-12-251-3/+3
|/
* Rebuilt Clinic generated code.Larry Hastings2015-08-251-1/+1
|
* Issue #24769: Interpreter now starts properly when dynamic loadingLarry Hastings2015-08-251-23/+46
| | | | is disabled. Patch by Petr Viktorin.
* Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(),Serhiy Storchaka2015-05-301-1/+5
|\ | | | | | | | | PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains() to check for and handle errors correctly.
| * Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(),Serhiy Storchaka2015-05-301-1/+5
| | | | | | | | | | PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains() to check for and handle errors correctly.
* | PEP 489: Multi-phase extension module initializationNick Coghlan2015-05-231-66/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Known limitations of the current implementation: - documentation changes are incomplete - there's a reference leak I haven't tracked down yet The leak is most visible by running: ./python -m test -R3:3 test_importlib However, you can also see it by running: ./python -X showrefcount Importing the array or _testmultiphase modules, and then deleting them from both sys.modules and the local namespace shows significant increases in the total number of active references each cycle. By contrast, with _testcapi (which continues to use single-phase initialisation) the global refcounts stabilise after a couple of cycles.
* | Issue #23911: Move path-based bootstrap code to a separate frozen module.Eric Snow2015-05-031-9/+27
| |
* | Issue #23998: PyImport_ReInitLock() now checks for lock allocation errorChristian Heimes2015-04-191-1/+5
|\ \ | |/
| * Issue #23998: PyImport_ReInitLock() now checks for lock allocation errorChristian Heimes2015-04-191-1/+5
| |\
| | * Issue #23998: PyImport_ReInitLock() now checks for lock allocation errorChristian Heimes2015-04-191-1/+5
| | |
* | | Issue #23944: Argument Clinic now wraps long impl prototypes at column 78.Larry Hastings2015-04-141-4/+6
| | |
* | | Issue #23501: Argumen Clinic now generates code into separate files by default.Serhiy Storchaka2015-04-031-2/+1
| | |
* | | Issue #23694: Enhance _Py_fopen(), it now raises an exception on errorVictor Stinner2015-03-181-2/+0
| | | | | | | | | | | | | | | * If fopen() fails, OSError is raised with the original filename object. * The GIL is now released while calling fopen()
* | | Removed redundant casts to `char *`.Serhiy Storchaka2014-09-281-1/+1
| | | | | | | | | | | | Corresponding functions now accept `const char *` (issue #1772673).
* | | (Merge 3.4) Issue #21925: PyImport_Cleanup(): Remove unused parameter inVictor Stinner2014-07-071-1/+1
|\ \ \ | |/ / | | | | | | PySys_FormatStderr() call
| * | Issue #21925: PyImport_Cleanup(): Remove unused parameter inVictor Stinner2014-07-071-1/+1
| | | | | | | | | | | | PySys_FormatStderr() call
* | | Move import.c to use Clinic file output.Brett Cannon2014-05-301-330/+17
|/ /
* | Issue #21226: fix a ref leak.Eric Snow2014-05-291-0/+1
| |
* | Issue #21226: Set all attrs in PyImport_ExecCodeModuleObject.Eric Snow2014-05-121-20/+12
| |
* | Issue #20942: PyImport_ImportFrozenModuleObject() no longer setsBrett Cannon2014-04-041-32/+54
| | | | | | | | | | | | | | | | __file__. This causes _frozen_importlib to no longer have __file__ set as well as any frozen module imported using imp.init_frozen() (which is deprecated).