Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								85b0f5beb1 
								
							 
						 
						
							
							
								
								Added the const qualifier to char* variables that refer to readonly internal  
							
							... 
							
							
							
							UTF-8 represenatation of Unicode objects. 
							
						 
						
							2016-11-20 10:16:47 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									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