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