Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								e249dcab7a 
								
							 
						 
						
							
							
								
								merge 3.2  
							
							
							
						 
						
							2012-02-21 11:09:13 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								69e9727657 
								
							 
						 
						
							
							
								
								ensure no one tries to hash things before the random seed is found  
							
							
							
						 
						
							2012-02-21 11:08:50 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Georg Brandl 
								
							 
						 
						
							
							
							
							
								
							
							
								16fa2a1097 
								
							 
						 
						
							
							
								
								Forgot the "empty string -> hash == 0" special case for strings.  
							
							
							
						 
						
							2012-02-21 00:50:13 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Georg Brandl 
								
							 
						 
						
							
							
							
							
								
							
							
								2fb477c0f0 
								
							 
						 
						
							
							
								
								Merge 3.2: Issue  #13703  plus some related test suite fixes.  
							
							
							
						 
						
							2012-02-21 00:33:36 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Georg Brandl 
								
							 
						 
						
							
							
							
							
								
							
							
								09a7c72cad 
								
							 
						 
						
							
							
								
								Merge from 3.1: Issue  #13703 : add a way to randomize the hash values of basic types (str, bytes, datetime)  
							
							... 
							
							
							
							in order to make algorithmic complexity attacks on (e.g.) web apps much more complicated.
The environment variable PYTHONHASHSEED and the new command line flag -R control this
behavior. 
							
						 
						
							2012-02-20 21:31:46 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Georg Brandl 
								
							 
						 
						
							
							
							
							
								
							
							
								2daf6ae249 
								
							 
						 
						
							
							
								
								Issue  #13703 : add a way to randomize the hash values of basic types (str, bytes, datetime)  
							
							... 
							
							
							
							in order to make algorithmic complexity attacks on (e.g.) web apps much more complicated.
The environment variable PYTHONHASHSEED and the new command line flag -R control this
behavior. 
							
						 
						
							2012-02-20 19:54:16 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								c3a6b02d70 
								
							 
						 
						
							
							
								
								(Merge 3.2) Issue  #13913 : normalize utf-8 codec name in UTF-8 decoder  
							
							
							
						 
						
							2012-02-14 01:18:10 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								cbe01342bc 
								
							 
						 
						
							
							
								
								Issue  #13913 : normalize utf-8 codec name in UTF-8 decoder  
							
							
							
						 
						
							2012-02-14 01:17:45 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								d1cd99b533 
								
							 
						 
						
							
							
								
								Backout d2c1521ad0a1: _Py_IDENTIFIER() uses UTF-8 again  
							
							
							
						 
						
							2012-02-07 23:05:55 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								d446d8e09a 
								
							 
						 
						
							
							
								
								_Py_Identifier are always ASCII strings  
							
							
							
						 
						
							2012-02-05 01:45:45 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Antoine Pitrou 
								
							 
						 
						
							
							
							
							
								
							
							
								7ab4af0427 
								
							 
						 
						
							
							
								
								Issue  #13848 : open() and the FileIO constructor now check for NUL characters in the file name.  
							
							... 
							
							
							
							Patch by Hynek Schlawack. 
							
						 
						
							2012-01-29 18:43:36 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Antoine Pitrou 
								
							 
						 
						
							
							
							
							
								
							
							
								1334884ff2 
								
							 
						 
						
							
							
								
								Issue  #13848 : open() and the FileIO constructor now check for NUL characters in the file name.  
							
							... 
							
							
							
							Patch by Hynek Schlawack. 
							
						 
						
							2012-01-29 18:36:34 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								eea4846d23 
								
							 
						 
						
							
							
								
								don't ready in case_operation, since most callers do it themselves  
							
							
							
						 
						
							2012-01-16 14:28:50 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Gregory P. Smith 
								
							 
						 
						
							
							
							
							
								
							
							
								f5b62a9b31 
								
							 
						 
						
							
							
								
								Consolidate the occurrances of the prime used as the multiplier when hashing.  
							
							
							
						 
						
							2012-01-14 15:45:13 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Gregory P. Smith 
								
							 
						 
						
							
							
							
							
								
							
							
								63e6c3222f 
								
							 
						 
						
							
							
								
								Consolidate the occurrances of the prime used as the multiplier when hashing  
							
							... 
							
							
							
							to a single #define instead of having several copies in several files.
This excludes the Modules/ tree (datetime and expat both have a copy
for their own purposes with no need for it to be the same). 
							
						 
						
							2012-01-14 15:31:34 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								c8d8b8861e 
								
							 
						 
						
							
							
								
								fix possible refleaks if PyUnicode_READY fails  
							
							
							
						 
						
							2012-01-14 13:37:31 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								bac79498c8 
								
							 
						 
						
							
							
								
								always explicitly check for -1 from PyUnicode_READY  
							
							
							
						 
						
							2012-01-14 13:34:47 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								d5890c8db5 
								
							 
						 
						
							
							
								
								add str.casefold() ( closes   #13752 )  
							
							
							
						 
						
							2012-01-14 13:23:30 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								53aa1d7c57 
								
							 
						 
						
							
							
								
								fix possible if unlikely leak  
							
							
							
						 
						
							2011-12-20 13:29:45 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								e51757f6de 
								
							 
						 
						
							
							
								
								move do_title to a better place  
							
							
							
						 
						
							2012-01-12 21:10:29 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								821e4cfd01 
								
							 
						 
						
							
							
								
								make fix_decimal_and_space_to_ascii check if it modifies the string  
							
							
							
						 
						
							2012-01-12 15:40:18 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								0c91392fe6 
								
							 
						 
						
							
							
								
								kill capwords implementation which has been disabled since the begining  
							
							
							
						 
						
							2012-01-12 15:25:41 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								b2bf01d824 
								
							 
						 
						
							
							
								
								use full unicode mappings for upper/lower/title case ( #12736 )  
							
							... 
							
							
							
							Also broaden the category of characters that count as lowercase/uppercase. 
							
						 
						
							2012-01-11 18:17:06 -05:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								3fe553160c 
								
							 
						 
						
							
							
								
								Add a new PyUnicode_Fill() function  
							
							... 
							
							
							
							It is faster than the unicode_fill() function which was implemented in
formatter_unicode.c. 
							
						 
						
							2012-01-04 00:33:50 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								5e458f520c 
								
							 
						 
						
							
							
								
								also decref the right thing  
							
							
							
						 
						
							2012-01-02 10:12:13 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								4c13a4a352 
								
							 
						 
						
							
							
								
								ready the correct string  
							
							
							
						 
						
							2012-01-02 09:07:38 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								22a29708fd 
								
							 
						 
						
							
							
								
								fix some possible refleaks from PyUnicode_READY error conditions  
							
							
							
						 
						
							2012-01-02 09:00:30 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								9ca3ffac94 
								
							 
						 
						
							
							
								
								== -1 is convention  
							
							
							
						 
						
							2012-01-01 16:04:29 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								e157cf1012 
								
							 
						 
						
							
							
								
								make switch more robust  
							
							
							
						 
						
							2012-01-01 15:56:20 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								c0b95d18fa 
								
							 
						 
						
							
							
								
								4 space indentation  
							
							
							
						 
						
							2011-12-20 17:24:05 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								ead6b53659 
								
							 
						 
						
							
							
								
								fix spacing around switch statements  
							
							
							
						 
						
							2011-12-20 17:23:42 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								822c790527 
								
							 
						 
						
							
							
								
								merge 3.2  
							
							
							
						 
						
							2011-12-20 13:32:50 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								6099a03202 
								
							 
						 
						
							
							
								
								Issue  #13624 : Write a specialized UTF-8 encoder to allow more optimization  
							
							... 
							
							
							
							The main bottleneck was the PyUnicode_READ() macro. 
							
						 
						
							2011-12-18 14:22:26 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								73f53b57d1 
								
							 
						 
						
							
							
								
								Optimize str * n for len(str)==1 and UCS-2 or UCS-4  
							
							
							
						 
						
							2011-12-18 03:26:31 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								f644110816 
								
							 
						 
						
							
							
								
								Issue  #13621 : Optimize str.replace(char1, char2)  
							
							... 
							
							
							
							Use findchar() which is more optimized than a dummy loop using
PyUnicode_READ().  PyUnicode_READ() is a complex and slow macro. 
							
						 
						
							2011-12-18 02:43:08 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								ab870218e3 
								
							 
						 
						
							
							
								
								Issue  #10951 : Fix compiler warnings in timemodule.c and unicodeobject.c  
							
							... 
							
							
							
							Thanks Jérémy Anger for the fix. 
							
						 
						
							2011-12-17 22:39:43 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								2f197078fb 
								
							 
						 
						
							
							
								
								The locale decoder raises a UnicodeDecodeError instead of an OSError  
							
							... 
							
							
							
							Search the invalid character using mbrtowc(). 
							
						 
						
							2011-12-17 07:08:30 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								1b57967b96 
								
							 
						 
						
							
							
								
								Issue  #13560 : Locale codec functions use the classic "errors" parameter,  
							
							... 
							
							
							
							instead of surrogateescape
So it would be possible to support more error handlers later. 
							
						 
						
							2011-12-17 05:47:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								ab59594326 
								
							 
						 
						
							
							
								
								What's New in Python 3.3: complete the deprecation list  
							
							... 
							
							
							
							Add also FIXMEs in unicodeobject.c 
							
						 
						
							2011-12-17 04:59:06 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								1f33f2b0c3 
								
							 
						 
						
							
							
								
								Issue  #13560 : os.strerror() now uses the current locale encoding instead of UTF-8  
							
							
							
						 
						
							2011-12-17 04:45:09 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								f2ea71fcc8 
								
							 
						 
						
							
							
								
								Issue  #13560 : Add PyUnicode_EncodeLocale()  
							
							... 
							
							
							
							* Use PyUnicode_EncodeLocale() in time.strftime() if wcsftime() is not
   available
 * Document my last changes in Misc/NEWS 
							
						 
						
							2011-12-17 04:13:41 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								af02e1c85a 
								
							 
						 
						
							
							
								
								Add PyUnicode_DecodeLocaleAndSize() and PyUnicode_DecodeLocale()  
							
							... 
							
							
							
							* PyUnicode_DecodeLocaleAndSize() and PyUnicode_DecodeLocale() decode a string
   from the current locale encoding
 * _Py_char2wchar() writes an "error code" in the size argument to indicate
   if the function failed because of memory allocation failure or because of a
   decoding error. The function doesn't write the error message directly to
   stderr.
 * Fix time.strftime() (if wcsftime() is missing): decode strftime() result
   from the current locale encoding, not from the filesystem encoding. 
							
						 
						
							2011-12-16 23:56:01 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								16e6a80923 
								
							 
						 
						
							
							
								
								PyUnicode_Resize(): warn about canonical representation  
							
							... 
							
							
							
							Call also directly unicode_resize() in unicodeobject.c 
							
						 
						
							2011-12-12 13:24:15 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								b0a82a6a7f 
								
							 
						 
						
							
							
								
								Fix PyUnicode_Resize() for compact string: leave the string unchanged on error  
							
							... 
							
							
							
							Fix also PyUnicode_Resize() doc 
							
						 
						
							2011-12-12 13:08:33 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								bf6e560d0c 
								
							 
						 
						
							
							
								
								Make PyUnicode_Copy() private => _PyUnicode_Copy()  
							
							... 
							
							
							
							Undocument the function.
Make also decode_utf8_errors() as private (static). 
							
						 
						
							2011-12-12 01:53:47 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								7a9105a380 
								
							 
						 
						
							
							
								
								resize_copy() now supports legacy ready strings  
							
							
							
						 
						
							2011-12-12 00:13:42 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								488fa49acf 
								
							 
						 
						
							
							
								
								Rewrite PyUnicode_Append(); unicode_modifiable() is more strict  
							
							... 
							
							
							
							* Rename unicode_resizable() to unicode_modifiable()
 * Rename _PyUnicode_Dirty() to unicode_check_modifiable() to make it clear
   that the function is private
 * Inline PyUnicode_Concat() and unicode_append_inplace() in PyUnicode_Append()
   to simplify the code
 * unicode_modifiable() return 0 if the hash has been computed or if the string
   is not an exact unicode string
 * Remove _PyUnicode_DIRTY(): no need to reset the hash anymore, because if the
   hash has already been computed, you cannot modify a string inplace anymore
 * PyUnicode_Concat() checks for integer overflow 
							
						 
						
							2011-12-12 00:01:39 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								c4b495497a 
								
							 
						 
						
							
							
								
								Create unicode_result_unchanged() subfunction  
							
							
							
						 
						
							2011-12-11 22:44:26 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								eaab604829 
								
							 
						 
						
							
							
								
								Fix fixup() for unchanged unicode subtype  
							
							... 
							
							
							
							If maxchar_new == 0 and self is a unicode subtype, return u instead of duplicating u. 
							
						 
						
							2011-12-11 22:22:39 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								e6b2d4407a 
								
							 
						 
						
							
							
								
								unicode_fromascii() doesn't check string content twice in debug mode  
							
							... 
							
							
							
							_PyUnicode_CheckConsistency() also checks string content. 
							
						 
						
							2011-12-11 21:54:30 +01:00