Serhiy Storchaka
3b73ea1278
Issue #28701 : Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString.
...
The latter function is more readable, faster and doesn't raise exceptions.
2016-11-16 10:19:20 +02:00
Serhiy Storchaka
f4934ea77d
Issue #28701 : Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString.
...
The latter function is more readable, faster and doesn't raise exceptions.
2016-11-16 10:17:58 +02:00
Christian Heimes
a78b627e2b
Fix potential NULL pointer dereference in _imp_create_builtin
...
PyModule_GetDef() can return NULL. Let's check the return value properly
like in the other five cases.
CID 1299590
2016-09-09 00:25:03 +02:00
Senthil Kumaran
32d374215a
[backport to 3.5] - issue26896 - Disambiguate uses of "importer" with "finder".
2016-09-07 00:52:20 -07:00
Raymond Hettinger
f0afe77c52
Issue #27909 : Fix INCREF for possible NULL value
2016-08-31 08:44:11 -07:00
Brett Cannon
52794db825
Issue #27911 : Remove some unnecessary error checks in import.c.
...
Thanks to Xiang Zhang for the patch.
2016-09-07 17:00:43 -07:00
Eric Snow
46f97b85a8
Issue #15767 : Use ModuleNotFoundError.
2016-09-07 16:56:15 -07:00
Raymond Hettinger
74942c9252
Merge
2016-08-31 08:44:26 -07:00
Serhiy Storchaka
133138a284
Issue #22557 : Now importing already imported modules is up to 2.5 times faster.
2016-08-02 22:51:21 +03:00
Serhiy Storchaka
caaf53e748
Issue #27419 : Added temporary workaround for subinterpreters.
2016-07-17 14:16:04 +03:00
Serhiy Storchaka
80ab069f1b
Issue #27419 : Added temporary workaround for subinterpreters.
2016-07-17 14:15:28 +03:00
Serhiy Storchaka
7905f99a27
Issue #27419 : Standard __import__() no longer look up "__import__" in globals
...
or builtins for importing submodules or "from import". Fixed a crash if
raise a warning about unabling to resolve package from __spec__ or
__package__.
2016-07-17 12:51:34 +03:00
Serhiy Storchaka
b3b65e618c
Issue #27419 : Standard __import__() no longer look up "__import__" in globals
...
or builtins for importing submodules or "from import". Fixed handling an
error of non-string package name.
2016-07-17 12:47:17 +03:00
Brett Cannon
fdcdd9ed80
Issue #26896 : Disambiguate uses of "importer" with "finder".
...
Thanks to Oren Milman for the patch.
2016-07-08 11:00:00 -07:00
Serhiy Storchaka
2954f83999
- Issue #27332 : Fixed the type of the first argument of module-level functions
...
generated by Argument Clinic. Patch by Petr Viktorin.
2016-07-07 18:20:03 +03:00
Serhiy Storchaka
1a2b24f02d
Issue #27332 : Fixed the type of the first argument of module-level functions
...
generated by Argument Clinic. Patch by Petr Viktorin.
2016-07-07 17:35:15 +03:00
Victor Stinner
744c34e2ea
Cleanup import.c
...
* 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.
2016-05-20 11:36:13 +02:00
Serhiy Storchaka
23c5cbbdde
fs_unicode_converter is no longer used.
2016-04-14 12:36:11 +03:00
Serhiy Storchaka
ec39756960
Issue #22570 : Renamed Py_SETREF to Py_XSETREF.
2016-04-06 09:50:03 +03:00
Serhiy Storchaka
5b613dd810
Issue #25698 : Prevent possible replacing imported module with the empty one
...
if the stack is too deep.
2016-02-10 10:31:43 +02:00
Serhiy Storchaka
48a583b1d8
Issue #25698 : Prevent possible replacing imported module with the empty one
...
if the stack is too deep.
2016-02-10 10:31:20 +02:00
Brett Cannon
9fa812668f
Issue #18018 : Raise an ImportError if a relative import is attempted
...
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.
2016-01-22 16:39:02 -08:00
Brett Cannon
849113af6b
Issue #25791 : Warn when __package__ != __spec__.parent.
...
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.
2016-01-22 15:25:50 -08:00
Brett Cannon
63b8505281
Issue #25791 : Raise an ImportWarning when __spec__ or __package__ are
...
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.
2016-01-15 13:33:03 -08:00
Serhiy Storchaka
576f132b98
Issue #20440 : Cleaning up the code by using Py_SETREF.
2016-01-05 21:27:54 +02:00
Serhiy Storchaka
2d06e84455
Issue #25923 : Added the const qualifier to static constant arrays.
2015-12-25 19:53:18 +02:00
Larry Hastings
01b1ff6970
Rebuilt Clinic generated code.
2015-08-24 20:23:27 -07:00
Larry Hastings
1df0b35e3d
Issue #24769 : Interpreter now starts properly when dynamic loading
...
is disabled. Patch by Petr Viktorin.
2015-08-24 19:53:56 -07:00
Serhiy Storchaka
ac5569b1fa
Issue #24115 : Update uses of PyObject_IsTrue(), PyObject_Not(),
...
PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
to check for and handle errors correctly.
2015-05-30 17:48:19 +03:00
Serhiy Storchaka
fa494fd883
Issue #24115 : Update uses of PyObject_IsTrue(), PyObject_Not(),
...
PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
to check for and handle errors correctly.
2015-05-30 17:45:22 +03:00
Nick Coghlan
d5cacbb1d9
PEP 489: Multi-phase extension module initialization
...
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.
2015-05-23 22:24:10 +10:00
Eric Snow
32439d6eb6
Issue #23911 : Move path-based bootstrap code to a separate frozen module.
2015-05-02 19:15:18 -06:00
Christian Heimes
1a084a882b
Issue #23998 : PyImport_ReInitLock() now checks for lock allocation error
2015-04-19 21:15:02 +02:00
Christian Heimes
e0ac2beb4f
Issue #23998 : PyImport_ReInitLock() now checks for lock allocation error
2015-04-19 21:12:14 +02:00
Christian Heimes
418fd74f87
Issue #23998 : PyImport_ReInitLock() now checks for lock allocation error
2015-04-19 21:08:42 +02:00
Larry Hastings
89964c48d1
Issue #23944 : Argument Clinic now wraps long impl prototypes at column 78.
2015-04-14 18:07:59 -04:00
Serhiy Storchaka
1009bf18b3
Issue #23501 : Argumen Clinic now generates code into separate files by default.
2015-04-03 23:53:51 +03:00
Victor Stinner
e42ccd2bfd
Issue #23694 : Enhance _Py_fopen(), it now raises an exception on error
...
* If fopen() fails, OSError is raised with the original filename object.
* The GIL is now released while calling fopen()
2015-03-18 01:39:23 +01:00
Serhiy Storchaka
20b39b27d9
Removed redundant casts to `char *`.
...
Corresponding functions now accept `const char *` (issue #1772673 ).
2014-09-28 11:27:24 +03:00
Victor Stinner
ac7d80c7d0
(Merge 3.4) Issue #21925 : PyImport_Cleanup(): Remove unused parameter in
...
PySys_FormatStderr() call
2014-07-07 23:07:27 +02:00
Victor Stinner
ab826d11a3
Issue #21925 : PyImport_Cleanup(): Remove unused parameter in
...
PySys_FormatStderr() call
2014-07-07 23:06:15 +02:00
Brett Cannon
fd4d0504df
Move import.c to use Clinic file output.
2014-05-30 11:21:14 -04:00
Eric Snow
58cfdd8af8
Issue #21226 : fix a ref leak.
2014-05-29 12:31:39 -06:00
Eric Snow
08197a4616
Issue #21226 : Set all attrs in PyImport_ExecCodeModuleObject.
2014-05-12 17:54:55 -06:00
Brett Cannon
18fc4e70f3
Issue #20942 : PyImport_ImportFrozenModuleObject() no longer sets
...
__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).
2014-04-04 10:01:46 -04:00
Serhiy Storchaka
e0a976c09d
Temporary silence test broken by issue19255.
...
Remove unused variables.
2014-02-10 19:09:19 +02:00
Serhiy Storchaka
013bb91aa3
Issue #19255 : The builtins module is restored to initial value before
...
cleaning other modules. The sys and builtins modules are cleaned last.
2014-02-10 18:21:34 +02:00
Serhiy Storchaka
dfe98a102e
Issue #20437 : Fixed 22 potential bugs when deleting objects references.
2014-02-09 13:46:20 +02:00
Serhiy Storchaka
505ff755d7
Issue #20437 : Fixed 21 potential bugs when deleting objects references.
2014-02-09 13:33:53 +02:00
Larry Hastings
2623c8c23c
Issue #20530 : Argument Clinic's signature format has been revised again.
...
The new syntax is highly human readable while still preventing false
positives. The syntax also extends Python syntax to denote "self" and
positional-only parameters, allowing inspect.Signature objects to be
totally accurate for all supported builtins in Python 3.4.
2014-02-08 22:15:29 -08:00