Merged revisions 60481,60485,60489-60520,60523-60527,60530-60533,60535-60538,60540-60551 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
NOTE: I blocked the following revisions:
svnmerge.py block -r 60521,60522,60528,60529,60534,60539
The new tests must be merged with lots of manual work.
........
r60493 | georg.brandl | 2008-02-01 12:59:08 +0100 (Fri, 01 Feb 2008) | 2 lines
Update IPv6 RFC number.
........
r60497 | georg.brandl | 2008-02-01 16:50:15 +0100 (Fri, 01 Feb 2008) | 2 lines
Add link checker builder, written for GHOP by Thomas Lamb.
........
r60500 | georg.brandl | 2008-02-01 19:08:09 +0100 (Fri, 01 Feb 2008) | 2 lines
Rename batch file.
........
r60504 | christian.heimes | 2008-02-01 19:49:26 +0100 (Fri, 01 Feb 2008) | 1 line
More int -> pid_t.
........
r60507 | georg.brandl | 2008-02-01 20:24:01 +0100 (Fri, 01 Feb 2008) | 2 lines
Wording nit.
........
r60510 | georg.brandl | 2008-02-01 21:45:33 +0100 (Fri, 01 Feb 2008) | 2 lines
Update for latest sphinx latex writer.
........
r60511 | raymond.hettinger | 2008-02-01 22:30:23 +0100 (Fri, 01 Feb 2008) | 1 line
Issue #1996: float.as_integer_ratio() should return fraction in lowest terms.
........
r60512 | raymond.hettinger | 2008-02-01 23:15:52 +0100 (Fri, 01 Feb 2008) | 1 line
Integer ratio should return ints instead of longs whereever possible.
........
r60513 | raymond.hettinger | 2008-02-01 23:22:50 +0100 (Fri, 01 Feb 2008) | 1 line
labs() takes a long for an input.
........
r60514 | raymond.hettinger | 2008-02-01 23:42:59 +0100 (Fri, 01 Feb 2008) | 1 line
Test round-trip on float.as_integer_ratio() and float.__truediv__().
........
r60515 | marc-andre.lemburg | 2008-02-01 23:58:17 +0100 (Fri, 01 Feb 2008) | 3 lines
Bump distutils version number to match Python version.
........
r60516 | raymond.hettinger | 2008-02-02 00:12:19 +0100 (Sat, 02 Feb 2008) | 1 line
Fix int/long typecase. Add check for non-binary floating point.
........
r60517 | raymond.hettinger | 2008-02-02 00:45:44 +0100 (Sat, 02 Feb 2008) | 1 line
Add protection from weirdness while scaling the mantissa to an integer.
........
r60518 | raymond.hettinger | 2008-02-02 06:11:40 +0100 (Sat, 02 Feb 2008) | 1 line
Simpler solution to handling non-IEEE 754 environments.
........
r60519 | raymond.hettinger | 2008-02-02 06:24:44 +0100 (Sat, 02 Feb 2008) | 1 line
Neaten-up a bit.
........
r60520 | georg.brandl | 2008-02-02 10:56:20 +0100 (Sat, 02 Feb 2008) | 2 lines
Amendments to the urllib2 docs, written for GHOP by Thomas Lamb.
........
r60525 | georg.brandl | 2008-02-02 11:49:58 +0100 (Sat, 02 Feb 2008) | 3 lines
Add email example how to send a multipart message.
Written for GHOP by Martin Matejek.
........
r60526 | georg.brandl | 2008-02-02 12:05:00 +0100 (Sat, 02 Feb 2008) | 2 lines
Rewrite test_socketserver as unittest, written for GHOP by Benjamin Petersen.
........
r60527 | georg.brandl | 2008-02-02 12:05:34 +0100 (Sat, 02 Feb 2008) | 2 lines
Add GHOP contributor.
........
r60530 | mark.dickinson | 2008-02-02 18:16:13 +0100 (Sat, 02 Feb 2008) | 2 lines
Make the Rational constructor accept '3.' and '.2' as well as '3.2'.
........
r60531 | neal.norwitz | 2008-02-02 19:52:51 +0100 (Sat, 02 Feb 2008) | 1 line
Update the leaky tests (ie, ignore these tests if they report leaks). This version has been running for a while.
........
r60533 | skip.montanaro | 2008-02-02 20:11:57 +0100 (Sat, 02 Feb 2008) | 7 lines
Split the refleak mail body into two parts, the first being those failing
tests which are deemed more important issues, the second those which are
known to have difficult to solve problems and are generally expected to
leak. Hopefully this doesn't break the script...
........
r60535 | georg.brandl | 2008-02-03 01:04:50 +0100 (Sun, 03 Feb 2008) | 3 lines
Wait for a delay before reaping children -- this should fix the
test_socketserver failures on several platforms.
........
r60536 | brett.cannon | 2008-02-03 03:07:55 +0100 (Sun, 03 Feb 2008) | 2 lines
Fix a minor typo.
........
r60537 | brett.cannon | 2008-02-03 03:08:45 +0100 (Sun, 03 Feb 2008) | 3 lines
Directories from CPPFLAGS and LDFLAGS were being added in the reverse order for
searches as to how they were listed in the environment variable.
........
r60538 | brett.cannon | 2008-02-03 03:34:14 +0100 (Sun, 03 Feb 2008) | 2 lines
Remove extra tick marks and add a missing closing parenthesis.
........
r60540 | andrew.macintyre | 2008-02-03 07:58:06 +0100 (Sun, 03 Feb 2008) | 2 lines
Update OS/2 EMX build bits for 2.6.
........
r60541 | andrew.macintyre | 2008-02-03 08:01:11 +0100 (Sun, 03 Feb 2008) | 2 lines
Rename module definition file to reflect v2.6.
........
r60542 | andrew.macintyre | 2008-02-03 08:07:31 +0100 (Sun, 03 Feb 2008) | 6 lines
The wrapper function is supposed to be for spawnvpe() so that's
what we should call [this wrapper only available on OS/2].
Backport candidate to 2.5.
........
r60544 | gregory.p.smith | 2008-02-03 08:20:53 +0100 (Sun, 03 Feb 2008) | 6 lines
Merge this fix from the pybsddb tree:
r293 | jcea | 2008-01-31 01:08:19 -0800 (Thu, 31 Jan 2008) | 4 lines
Solved memory leak when using cursors with
databases without environment.
........
r60546 | gregory.p.smith | 2008-02-03 09:01:46 +0100 (Sun, 03 Feb 2008) | 2 lines
remove a repeated occurance of a hardcoded berkeleydb library version number
........
r60549 | brett.cannon | 2008-02-03 10:59:21 +0100 (Sun, 03 Feb 2008) | 2 lines
Add an entry for r60537.
........
r60550 | georg.brandl | 2008-02-03 13:29:00 +0100 (Sun, 03 Feb 2008) | 2 lines
#2003: fix sentence.
........
r60551 | christian.heimes | 2008-02-03 15:34:18 +0100 (Sun, 03 Feb 2008) | 2 lines
Fixed paths to Windows build directories in build_ext.py
Use vsbuild instead of devenv in build.bat and _bsddb.vcproj
........
diff --git a/PC/os2emx/Makefile b/PC/os2emx/Makefile
index c0c9807..d3ef12b 100644
--- a/PC/os2emx/Makefile
+++ b/PC/os2emx/Makefile
@@ -1,16 +1,16 @@
#####################==================----------------
#
-# Top-Level Makefile for Building Python 2.4 for OS/2 using GCC/EMX
+# Top-Level Makefile for Building Python 2.6 for OS/2 using GCC/EMX
# Originally written by Andrew Zabolotny, <bit@eltech.ru> for Python 1.5.2
-# Modified by Andrew MacIntyre, <andymac@pcug.org.au> for Python 2.5
+# Modified by Andrew MacIntyre, <andymac@pcug.org.au> for Python 2.6
#
# This makefile was developed for use with [P]GCC/EMX compiler any
# version and GNU Make.
#
-# The output of the build is a largish Python25.DLL containing the
+# The output of the build is a largish Python26.DLL containing the
# essential modules of Python and a small Python.exe program to start
# the interpreter. When embedding Python within another program, only
-# Python25.DLL is needed. We also build python_s.a static library (which
+# Python26.DLL is needed. We also build python_s.a static library (which
# can be converted into OMF (.lib) format using emxomf tool) and both
# python.a and python.lib import libraries. Then the optional
# extension modules, which are OS/2 DLLs renamed with a PYD file extension.
@@ -64,7 +64,7 @@
# === install locations ===
# default value of PYTHONHOME
-LIB_DIR=C:/Python25
+LIB_DIR=C:/Python26
# default is to have everything in or under PYTHONHOME
EXE_DIR=$(LIB_DIR)
DLL_DIR=$(EXE_DIR)
@@ -236,8 +236,8 @@
@echo STACKSIZE 2097152 >>$@
# Output file names
-PYTHON_VER= 2.5
-PYTHON_LIB= python25
+PYTHON_VER= 2.6
+PYTHON_LIB= python26
PYTHON.LIB= $(PYTHON_LIB)_s$A
PYTHON.IMPLIB= $(PYTHON_LIB)$A
ifeq ($(EXEOMF),yes)
diff --git a/PC/os2emx/README.os2emx b/PC/os2emx/README.os2emx
index 4fe5c53..e186790 100644
--- a/PC/os2emx/README.os2emx
+++ b/PC/os2emx/README.os2emx
@@ -1,4 +1,4 @@
-This is a port of Python 2.5 to OS/2 using the EMX development tools
+This is a port of Python 2.6 to OS/2 using the EMX development tools
=========================================================================
What's new since the previous release
@@ -10,11 +10,11 @@
Licenses and info about Python and EMX
--------------------------------------
-Please read the file README.Python-2.5 included in this package for
-information about Python 2.5. This file is the README file from the
-Python 2.5 source distribution available via http://www.python.org/
-and its mirrors. The file LICENCE.Python-2.5 is the text of the Licence
-from the Python 2.5 source distribution.
+Please read the file README.Python-2.6 included in this package for
+information about Python 2.6. This file is the README file from the
+Python 2.6 source distribution available via http://www.python.org/
+and its mirrors. The file LICENCE.Python-2.6 is the text of the Licence
+from the Python 2.6 source distribution.
Note that the EMX package that this package depends on is released under
the GNU General Public Licence. Please refer to the documentation
@@ -46,7 +46,7 @@
The best known would be that by Jeff Rush, most recently of version
1.5.2. Jeff used IBM's Visual Age C++ (v3) for his ports, and his
-patches have been included in the Python 2.5 source distribution.
+patches have been included in the Python 2.6 source distribution.
Andy Zabolotny implemented a port of Python v1.5.2 using the EMX
development tools. His patches against the Python v1.5.2 source
@@ -92,7 +92,7 @@
to compile & link the executable. This is so that fork() works (see
"YOU HAVE BEEN WARNED" item 1).
-Python25.dll is created as a normal OMF DLL, with an OMF import
+Python26.dll is created as a normal OMF DLL, with an OMF import
library and module definition file. There is also an a.out (.a) import
library to support linking the DLL to a.out executables. The DLL
requires the EMX runtime DLLs.
@@ -148,7 +148,7 @@
Upstream source patches:
-No updates to the Python 2.5 release have become available.
+No updates to the Python 2.6 release have become available.
Eberhard Mattes' EMXFIX04 update to his EMX 0.9d tools suite includes
bug fixes for the BSD DB library. The bsddb module included in this
@@ -157,7 +157,7 @@
Library and other distributed Python code:
The Python standard library lives in the Lib directory. All the standard
-library code included with the Python 2.5 source distribution is included
+library code included with the Python 2.6 source distribution is included
in the binary archive, with the exception of the dos-8x3 and tkinter
subdirectories which have been omitted to reduce the size of the binary
archive - the dos-8x3 components are unnecessary duplicates and Tkinter
@@ -172,7 +172,7 @@
also been omitted.
All subdirectories omitted from the binary archive can be reconstituted
-from the Python 2.5 source distribution, if desired.
+from the Python 2.6 source distribution, if desired.
Support for building Python extensions:
@@ -190,15 +190,15 @@
---------
This port is packaged as follows:
-- python-2.5-os2emx-bin-03????.zip (binaries, library modules)
-- python-2.5-os2emx-src-03???? (patches+makefiles for non-Python code)
+- python-2.6-os2emx-bin-03????.zip (binaries, library modules)
+- python-2.6-os2emx-src-03???? (patches+makefiles for non-Python code)
As all the Python specific patches for the port are now part of the
Python release tarball, only the patches and makefiles involved in
building external libraries for optional extensions are included in
the source archive.
-Documentation for the Python language, as well as the Python 2.5
+Documentation for the Python language, as well as the Python 2.6
source distibution, can be obtained from the Python website
(http://www.python.org/) or the Python project pages at Sourceforge
(http://sf.net/projects/python/).
@@ -213,7 +213,7 @@
Unpack this archive, preserving the subdirectories, in the root directory
of the drive where you want Python to live.
-Add the Python directory (eg C:\Python25) to the PATH and LIBPATH
+Add the Python directory (eg C:\Python26) to the PATH and LIBPATH
variables in CONFIG.SYS.
You should then set the PYTHONHOME and PYTHONPATH environment variables
@@ -223,9 +223,9 @@
should be set to the semicolon separated list of principal Python library
directories.
I use:
- SET PYTHONHOME=F:/Python25
- SET PYTHONPATH=F:/Python25/Lib;F:/Python25/Lib/plat-os2emx;
- F:/Python25/Lib/lib-dynload;F:/Python25/Lib/site-packages
+ SET PYTHONHOME=F:/Python26
+ SET PYTHONPATH=F:/Python26/Lib;F:/Python26/Lib/plat-os2emx;
+ F:/Python26/Lib/lib-dynload;F:/Python26/Lib/site-packages
NOTE!: the PYTHONPATH setting above is linewrapped for this document - it
should all be on one line in CONFIG.SYS!
@@ -238,7 +238,7 @@
distribution. This can be used by setting the TERMINFO environment variable
to the path of the Terminfo subdirectory below the Python home directory.
On my system this looks like:
- SET TERMINFO=F:/Python25/Terminfo
+ SET TERMINFO=F:/Python26/Terminfo
For the TERM environment variable, I would try one of the following:
SET TERM=ansi
@@ -252,8 +252,8 @@
you can change into the Python home directory and run the COMPILEALL.CMD
batch file.
-You can execute the regression tests included with the Python 2.5 source
-distribution by changing to the Python 2.5 home directory and executing the
+You can execute the regression tests included with the Python 2.6 source
+distribution by changing to the Python 2.6 home directory and executing the
REGRTEST.CMD batch file. The following tests are known to fail at this
time:
- test_mhlib (I don't know of any port of MH to OS/2);
@@ -299,7 +299,7 @@
1. decide if you need to change the location of the Python installation.
If you wish to do this, set the value of the Makefile variable LIB_DIR
to the directory you wish to use for PYTHONHOME
- (eg /usr/local/lib/python2.5).
+ (eg /usr/local/lib/python2.6).
If you want Python to find its library without the PYTHONHOME
environment variable set, set the value of the Makefile variable
@@ -309,7 +309,7 @@
to be installed in a directory other than the PYTHONHOME directory, set
the value of the Makefile variable EXE_DIR to the appropriate directory.
-3. If you wish the Python core DLL (python25.dll) to be installed in a
+3. If you wish the Python core DLL (python26.dll) to be installed in a
directory other than the directory in which the Python executables are
installed (by default, the PYTHONHOME directory), set the value of the
Makefile variable DLL_DIR to the appropriate directory. This DLL must
@@ -698,4 +698,4 @@
E-mail: andymac@bullseye.apana.org.au, or andymac@pcug.org.au
Web: http://www.andymac.org/
-23 July, 2006.
+28 January, 2008.
diff --git a/PC/os2emx/python25.def b/PC/os2emx/python26.def
similarity index 82%
rename from PC/os2emx/python25.def
rename to PC/os2emx/python26.def
index 55242ea..2795050 100644
--- a/PC/os2emx/python25.def
+++ b/PC/os2emx/python26.def
@@ -1,54 +1,54 @@
-LIBRARY python25 INITINSTANCE TERMINSTANCE
-DESCRIPTION "Python 2.5 Core DLL"
+LIBRARY python26 INITINSTANCE TERMINSTANCE
+DESCRIPTION "Python 2.6 Core DLL"
PROTMODE
DATA MULTIPLE NONSHARED
EXPORTS
-; From python25_s.lib(config)
+; From python26_s.lib(config)
"_PyImport_Inittab"
-; From python25_s.lib(dlfcn)
+; From python26_s.lib(dlfcn)
; "dlopen"
; "dlsym"
; "dlclose"
; "dlerror"
-; From python25_s.lib(getpathp)
+; From python26_s.lib(getpathp)
"Py_GetProgramFullPath"
"Py_GetPrefix"
"Py_GetExecPrefix"
"Py_GetPath"
-; From python25_s.lib(getbuildinfo)
+; From python26_s.lib(getbuildinfo)
"Py_GetBuildInfo"
"_Py_svnversion"
-; From python25_s.lib(main)
+; From python26_s.lib(main)
"Py_Main"
"Py_GetArgcArgv"
-; From python25_s.lib(acceler)
+; From python26_s.lib(acceler)
"PyGrammar_AddAccelerators"
"PyGrammar_RemoveAccelerators"
-; From python25_s.lib(grammar1)
+; From python26_s.lib(grammar1)
"PyGrammar_FindDFA"
"PyGrammar_LabelRepr"
-; From python25_s.lib(listnode)
+; From python26_s.lib(listnode)
"PyNode_ListTree"
-; From python25_s.lib(node)
+; From python26_s.lib(node)
"PyNode_New"
"PyNode_AddChild"
"PyNode_Free"
-; From python25_s.lib(parser)
+; From python26_s.lib(parser)
"PyParser_AddToken"
"PyParser_New"
"PyParser_Delete"
-; From python25_s.lib(parsetok)
+; From python26_s.lib(parsetok)
"Py_TabcheckFlag"
"PyParser_ParseString"
"PyParser_ParseStringFlagsFilename"
@@ -56,18 +56,18 @@
"PyParser_ParseFileFlags"
"PyParser_ParseStringFlags"
-; From python25_s.lib(bitset)
+; From python26_s.lib(bitset)
"_Py_newbitset"
"_Py_delbitset"
"_Py_addbit"
"_Py_samebitset"
"_Py_mergebitset"
-; From python25_s.lib(metagrammar)
+; From python26_s.lib(metagrammar)
"_Py_meta_grammar"
"Py_meta_grammar"
-; From python25_s.lib(tokenizer)
+; From python26_s.lib(tokenizer)
"PyToken_OneChar"
"PyToken_TwoChars"
"PyToken_ThreeChars"
@@ -77,14 +77,14 @@
"PyTokenizer_Get"
"_PyParser_TokenNames"
-; From python25_s.lib(myreadline)
+; From python26_s.lib(myreadline)
"_PyOS_ReadlineTState"
"PyOS_ReadlineFunctionPointer"
"PyOS_StdioReadline"
"PyOS_Readline"
"PyOS_InputHook"
-; From python25_s.lib(abstract)
+; From python26_s.lib(abstract)
"_PyObject_LengthHint"
"PyMapping_Size"
"PyObject_CallMethod"
@@ -175,19 +175,27 @@
"PyObject_IsInstance"
"PyObject_IsSubclass"
-; From python25_s.lib(boolobject)
+; From python26_s.lib(boolobject)
"PyBool_FromLong"
"PyBool_Type"
"_Py_ZeroStruct"
"_Py_TrueStruct"
-; From python25_s.lib(cellobject)
+; From python26_s.lib(bufferobject)
+ "PyBuffer_FromObject"
+ "PyBuffer_FromReadWriteObject"
+ "PyBuffer_FromMemory"
+ "PyBuffer_FromReadWriteMemory"
+ "PyBuffer_New"
+ "PyBuffer_Type"
+
+; From python26_s.lib(cellobject)
"PyCell_New"
"PyCell_Get"
"PyCell_Set"
"PyCell_Type"
-; From python25_s.lib(classobject)
+; From python26_s.lib(classobject)
"PyClass_New"
"PyClass_IsSubclass"
"PyInstance_New"
@@ -202,7 +210,7 @@
"PyInstance_Type"
"PyMethod_Type"
-; From python25_s.lib(cobject)
+; From python26_s.lib(cobject)
"PyCObject_FromVoidPtr"
"PyCObject_FromVoidPtrAndDesc"
"PyCObject_AsVoidPtr"
@@ -211,13 +219,13 @@
"PyCObject_SetVoidPtr"
"PyCObject_Type"
-; From python25_s.lib(codeobject)
+; From python26_s.lib(codeobject)
"PyCode_New"
"PyCode_Addr2Line"
"PyCode_CheckLineNumber"
"PyCode_Type"
-; From python25_s.lib(complexobject)
+; From python26_s.lib(complexobject)
"_Py_c_pow"
"_Py_c_sum"
"_Py_c_diff"
@@ -231,7 +239,7 @@
"PyComplex_AsCComplex"
"PyComplex_Type"
-; From python25_s.lib(descrobject)
+; From python26_s.lib(descrobject)
"PyWrapper_New"
"PyDescr_NewMethod"
"PyDescr_NewClassMethod"
@@ -242,7 +250,7 @@
"PyWrapperDescr_Type"
"PyProperty_Type"
-; From python25_s.lib(dictobject)
+; From python26_s.lib(dictobject)
"PyDict_New"
"PyDict_GetItem"
"PyDict_SetItem"
@@ -266,11 +274,11 @@
"PyDictIterValue_Type"
"PyDictIterItem_Type"
-; From python25_s.lib(enumobject)
+; From python26_s.lib(enumobject)
"PyEnum_Type"
"PyReversed_Type"
-; From python25_s.lib(fileobject)
+; From python26_s.lib(fileobject)
"PyFile_FromString"
"Py_UniversalNewlineFread"
"PyFile_GetLine"
@@ -286,7 +294,7 @@
"PyFile_Name"
"PyFile_Type"
-; From python25_s.lib(floatobject)
+; From python26_s.lib(floatobject)
"PyFloat_FromString"
"PyFloat_AsDouble"
"PyFloat_Fini"
@@ -301,7 +309,7 @@
"PyFloat_AsStringEx"
"PyFloat_Type"
-; From python25_s.lib(frameobject)
+; From python26_s.lib(frameobject)
"PyFrame_New"
"PyFrame_FastToLocals"
"PyFrame_LocalsToFast"
@@ -311,7 +319,7 @@
"PyFrame_BlockPop"
"PyFrame_Type"
-; From python25_s.lib(funcobject)
+; From python26_s.lib(funcobject)
"PyFunction_New"
"PyFunction_GetCode"
"PyFunction_GetGlobals"
@@ -326,18 +334,33 @@
"PyClassMethod_Type"
"PyStaticMethod_Type"
-; From python25_s.lib(genobject)
+; From python26_s.lib(genobject)
"PyGen_New"
"PyGen_NeedsFinalizing"
"PyGen_Type"
-; From python25_s.lib(iterobject)
+; From python26_s.lib(intobject)
+ "PyInt_AsLong"
+ "PyInt_AsUnsignedLongMask"
+ "PyInt_AsUnsignedLongLongMask"
+ "PyInt_FromString"
+ "PyInt_AsSsize_t"
+ "PyInt_Fini"
+ "PyInt_FromUnicode"
+ "PyInt_FromLong"
+ "PyInt_FromSize_t"
+ "PyInt_FromSsize_t"
+ "PyInt_GetMax"
+ "_PyInt_Init"
+ "PyInt_Type"
+
+; From python26_s.lib(iterobject)
"PySeqIter_New"
"PyCallIter_New"
"PySeqIter_Type"
"PyCallIter_Type"
-; From python25_s.lib(listobject)
+; From python26_s.lib(listobject)
"PyList_New"
"PyList_Append"
"PyList_Size"
@@ -355,7 +378,7 @@
"PyListIter_Type"
"PyListRevIter_Type"
-; From python25_s.lib(longobject)
+; From python26_s.lib(longobject)
"PyLong_FromDouble"
"PyLong_AsLong"
"_PyLong_AsSsize_t"
@@ -385,7 +408,7 @@
"PyLong_Type"
"_PyLong_DigitValue"
-; From python25_s.lib(methodobject)
+; From python26_s.lib(methodobject)
"PyCFunction_Call"
"Py_FindMethodInChain"
"PyCFunction_GetFunction"
@@ -397,7 +420,7 @@
"PyCFunction_New"
"PyCFunction_Type"
-; From python25_s.lib(moduleobject)
+; From python26_s.lib(moduleobject)
"PyModule_New"
"_PyModule_Clear"
"PyModule_GetDict"
@@ -405,7 +428,7 @@
"PyModule_GetFilename"
"PyModule_Type"
-; From python25_s.lib(object)
+; From python26_s.lib(object)
"Py_DivisionWarningFlag"
"PyObject_Str"
"PyObject_Repr"
@@ -448,6 +471,7 @@
"PyObject_InitVar"
"_PyObject_New"
"_PyObject_NewVar"
+ "_PyObject_Del"
"_Py_ReadyTypes"
"_Py_SwappedOp"
"_Py_NotImplementedStruct"
@@ -457,15 +481,15 @@
"_PyTrash_delete_nesting"
"_PyTrash_delete_later"
-; From python25_s.lib(obmalloc)
+; From python26_s.lib(obmalloc)
"PyObject_Malloc"
"PyObject_Free"
"PyObject_Realloc"
-; From python25_s.lib(rangeobject)
+; From python26_s.lib(rangeobject)
"PyRange_Type"
-; From python25_s.lib(setobject)
+; From python26_s.lib(setobject)
"PySet_Pop"
"PySet_New"
"PyFrozenSet_New"
@@ -480,7 +504,7 @@
"PySet_Type"
"PyFrozenSet_Type"
-; From python25_s.lib(sliceobject)
+; From python26_s.lib(sliceobject)
"_PySlice_FromIndices"
"PySlice_GetIndices"
"PySlice_GetIndicesEx"
@@ -488,7 +512,7 @@
"_Py_EllipsisObject"
"PySlice_Type"
-; From python25_s.lib(stringobject)
+; From python26_s.lib(stringobject)
"PyString_FromStringAndSize"
"PyString_InternInPlace"
"PyString_FromString"
@@ -519,12 +543,12 @@
"PyString_Type"
"PyBaseString_Type"
-; From python25_s.lib(structseq)
+; From python26_s.lib(structseq)
"PyStructSequence_InitType"
"PyStructSequence_New"
"PyStructSequence_UnnamedField"
-; From python25_s.lib(tupleobject)
+; From python26_s.lib(tupleobject)
"PyTuple_New"
"PyTuple_Pack"
"_PyTuple_Resize"
@@ -536,7 +560,7 @@
"PyTuple_Type"
"PyTupleIter_Type"
-; From python25_s.lib(typeobject)
+; From python26_s.lib(typeobject)
"PyType_IsSubtype"
"_PyType_Lookup"
"PyType_Ready"
@@ -547,7 +571,7 @@
"PyBaseObject_Type"
"PySuper_Type"
-; From python25_s.lib(unicodeobject)
+; From python26_s.lib(unicodeobject)
"PyUnicodeUCS2_Resize"
"PyUnicodeUCS2_FromOrdinal"
"PyUnicodeUCS2_FromObject"
@@ -613,7 +637,7 @@
"PyUnicode_AsDecodedObject"
"PyUnicode_Type"
-; From python25_s.lib(unicodectype)
+; From python26_s.lib(unicodectype)
"_PyUnicode_TypeRecords"
"_PyUnicodeUCS2_ToNumeric"
"_PyUnicodeUCS2_IsLowercase"
@@ -631,7 +655,7 @@
"_PyUnicodeUCS2_IsNumeric"
"_PyUnicodeUCS2_IsAlpha"
-; From python25_s.lib(weakrefobject)
+; From python26_s.lib(weakrefobject)
"PyWeakref_NewRef"
"PyWeakref_NewProxy"
"PyObject_ClearWeakRefs"
@@ -642,7 +666,7 @@
"_PyWeakref_ProxyType"
"_PyWeakref_CallableProxyType"
-; From python25_s.lib(Python-ast)
+; From python26_s.lib(Python-ast)
; "init_ast"
"Module"
"Interactive"
@@ -701,18 +725,18 @@
"alias"
"PyAST_mod2obj"
-; From python25_s.lib(asdl)
+; From python26_s.lib(asdl)
"asdl_seq_new"
"asdl_int_seq_new"
-; From python25_s.lib(ast)
+; From python26_s.lib(ast)
"PyAST_FromNode"
-; From python25_s.lib(bltinmodule)
+; From python26_s.lib(bltinmodule)
"_PyBuiltin_Init"
"Py_FileSystemDefaultEncoding"
-; From python25_s.lib(exceptions)
+; From python26_s.lib(exceptions)
"PyUnicodeEncodeError_GetStart"
"PyUnicodeDecodeError_GetStart"
"PyUnicodeEncodeError_GetEnd"
@@ -743,6 +767,7 @@
"_PyExc_Fini"
"PyExc_BaseException"
"PyExc_Exception"
+ "PyExc_StandardError"
"PyExc_TypeError"
"PyExc_StopIteration"
"PyExc_GeneratorExit"
@@ -787,7 +812,7 @@
"PyExc_ImportWarning"
"PyExc_MemoryErrorInst"
-; From python25_s.lib(ceval)
+; From python26_s.lib(ceval)
"PyEval_EvalFrameEx"
"PyEval_CallObjectWithKeywords"
"PyEval_EvalCodeEx"
@@ -826,13 +851,13 @@
"_Py_CheckInterval"
"_Py_Ticker"
-; From python25_s.lib(compile)
+; From python26_s.lib(compile)
"_Py_Mangle"
"PyAST_Compile"
"PyNode_Compile"
"Py_OptimizeFlag"
-; From python25_s.lib(codecs)
+; From python26_s.lib(codecs)
"_PyCodec_Lookup"
"PyCodec_Encode"
"PyCodec_Decode"
@@ -851,7 +876,7 @@
"PyCodec_LookupError"
"PyCodec_StrictErrors"
-; From python25_s.lib(errors)
+; From python26_s.lib(errors)
"PyErr_SetNone"
"PyErr_SetString"
"PyErr_GivenExceptionMatches"
@@ -877,16 +902,16 @@
"PyErr_Warn"
"PyErr_WarnExplicit"
-; From python25_s.lib(frozen)
+; From python26_s.lib(frozen)
"PyImport_FrozenModules"
-; From python25_s.lib(frozenmain)
+; From python26_s.lib(frozenmain)
"Py_FrozenMain"
-; From python25_s.lib(future)
+; From python26_s.lib(future)
"PyFuture_FromAST"
-; From python25_s.lib(getargs)
+; From python26_s.lib(getargs)
"PyArg_Parse"
"_PyArg_Parse_SizeT"
"PyArg_ParseTuple"
@@ -900,25 +925,25 @@
"_PyArg_VaParse_SizeT"
"_PyArg_VaParseTupleAndKeywords_SizeT"
-; From python25_s.lib(getcompiler)
+; From python26_s.lib(getcompiler)
"Py_GetCompiler"
-; From python25_s.lib(getcopyright)
+; From python26_s.lib(getcopyright)
"Py_GetCopyright"
-; From python25_s.lib(getmtime)
+; From python26_s.lib(getmtime)
"PyOS_GetLastModificationTime"
-; From python25_s.lib(getplatform)
+; From python26_s.lib(getplatform)
"Py_GetPlatform"
-; From python25_s.lib(getversion)
+; From python26_s.lib(getversion)
"Py_GetVersion"
-; From python25_s.lib(graminit)
+; From python26_s.lib(graminit)
"_PyParser_Grammar"
-; From python25_s.lib(import)
+; From python26_s.lib(import)
"_PyImport_Init"
"_PyImportHooks_Init"
"PyImport_ImportModule"
@@ -945,10 +970,10 @@
"PyImport_Inittab"
"_PyImport_Filetab"
-; From python25_s.lib(importdl)
+; From python26_s.lib(importdl)
"_PyImport_LoadDynamicModule"
-; From python25_s.lib(marshal)
+; From python26_s.lib(marshal)
"PyMarshal_ReadLongFromFile"
"PyMarshal_WriteObjectToString"
"PyMarshal_WriteLongToFile"
@@ -959,7 +984,7 @@
"PyMarshal_ReadObjectFromString"
"PyMarshal_Init"
-; From python25_s.lib(modsupport)
+; From python26_s.lib(modsupport)
"Py_InitModule4"
"Py_BuildValue"
"_Py_BuildValue_SizeT"
@@ -972,24 +997,24 @@
"PyModule_AddStringConstant"
"_Py_PackageContext"
-; From python25_s.lib(mysnprintf)
+; From python26_s.lib(mysnprintf)
"PyOS_snprintf"
"PyOS_vsnprintf"
-; From python25_s.lib(mystrtoul)
+; From python26_s.lib(mystrtoul)
"PyOS_strtoul"
"PyOS_strtol"
-; From python25_s.lib(pyarena)
+; From python26_s.lib(pyarena)
"PyArena_New"
"PyArena_Free"
"PyArena_Malloc"
"PyArena_AddPyObject"
-; From python25_s.lib(pyfpe)
+; From python26_s.lib(pyfpe)
"PyFPE_dummy"
-; From python25_s.lib(pystate)
+; From python26_s.lib(pystate)
"PyInterpreterState_Clear"
"PyThreadState_Clear"
"_PyThread_CurrentFrames"
@@ -1014,12 +1039,12 @@
"_PyThreadState_Current"
"_PyThreadState_GetFrame"
-; From python25_s.lib(pystrtod)
+; From python26_s.lib(pystrtod)
"PyOS_ascii_strtod"
"PyOS_ascii_formatd"
"PyOS_ascii_atof"
-; From python25_s.lib(pythonrun)
+; From python26_s.lib(pythonrun)
"Py_IgnoreEnvironmentFlag"
"Py_DebugFlag"
"Py_VerboseFlag"
@@ -1081,18 +1106,20 @@
"Py_UnicodeFlag"
"_Py_QnewFlag"
-; From python25_s.lib(structmember)
+; From python26_s.lib(structmember)
+ "PyMember_Get"
"PyMember_GetOne"
"PyMember_SetOne"
+ "PyMember_Set"
-; From python25_s.lib(symtable)
+; From python26_s.lib(symtable)
"PySymtable_Build"
"PySymtable_Free"
"PyST_GetScope"
"PySymtable_Lookup"
"PySTEntry_Type"
-; From python25_s.lib(sysmodule)
+; From python26_s.lib(sysmodule)
"_PySys_Init"
"PySys_WriteStderr"
"PySys_SetPath"
@@ -1106,22 +1133,22 @@
"PySys_ResetWarnOptions"
"PySys_AddWarnOption"
-; From python25_s.lib(traceback)
+; From python26_s.lib(traceback)
"PyTraceBack_Here"
"PyTraceBack_Print"
"PyTraceBack_Type"
-; From python25_s.lib(getopt)
+; From python26_s.lib(getopt)
"_PyOS_GetOpt"
"_PyOS_opterr"
"_PyOS_optind"
"_PyOS_optarg"
-; From python25_s.lib(dynload_shlib)
+; From python26_s.lib(dynload_shlib)
"_PyImport_DynLoadFiletab"
"_PyImport_GetDynLoadFunc"
-; From python25_s.lib(thread)
+; From python26_s.lib(thread)
"PyThread_delete_key_value"
"PyThread_init_thread"
"PyThread_start_new_thread"
@@ -1139,7 +1166,7 @@
"PyThread_get_key_value"
"PyThread__exit_thread"
-; From python25_s.lib(gcmodule)
+; From python26_s.lib(gcmodule)
; "initgc"
"_PyObject_GC_New"
"_PyObject_GC_NewVar"
@@ -1155,7 +1182,7 @@
"_PyObject_GC_Del"
"_PyGC_generation0"
-; From python25_s.lib(signalmodule)
+; From python26_s.lib(signalmodule)
; "initsignal"
"PyErr_CheckSignals"
"PyErr_SetInterrupt"
@@ -1164,100 +1191,124 @@
"PyOS_InitInterrupts"
"PyOS_AfterFork"
-; From python25_s.lib(posixmodule)
+; From python26_s.lib(posixmodule)
; "initos2"
-; From python25_s.lib(threadmodule)
+; From python26_s.lib(threadmodule)
; "initthread"
-; From python25_s.lib(arraymodule)
+; From python26_s.lib(arraymodule)
; "initarray"
; "array_methods"
-; From python25_s.lib(binascii)
+; From python26_s.lib(binascii)
; "initbinascii"
-; From python25_s.lib(cmathmodule)
+; From python26_s.lib(cmathmodule)
; "initcmath"
-; From python25_s.lib(_codecsmodule)
+; From python26_s.lib(_codecsmodule)
; "init_codecs"
-; From python25_s.lib(collectionsmodule)
+; From python26_s.lib(collectionsmodule)
; "initcollections"
"dequeiter_type"
"dequereviter_type"
-; From python25_s.lib(cStringIO)
+; From python26_s.lib(cPickle)
+; "initcPickle"
+; "fast_save_leave"
+
+; From python26_s.lib(cStringIO)
; "initcStringIO"
-; From python25_s.lib(_csv)
+; From python26_s.lib(_csv)
; "init_csv"
-; From python25_s.lib(datetimemodule)
+; From python26_s.lib(datetimemodule)
; "initdatetime"
-; From python25_s.lib(dlmodule)
+; From python26_s.lib(dlmodule)
; "initdl"
-; From python25_s.lib(errnomodule)
+; From python26_s.lib(errnomodule)
; "initerrno"
-; From python25_s.lib(fcntlmodule)
+; From python26_s.lib(fcntlmodule)
; "initfcntl"
-; From python25_s.lib(_functoolsmodule)
+; From python26_s.lib(_functoolsmodule)
; "init_functools"
-; From python25_s.lib(_heapqmodule)
+; From python26_s.lib(_heapqmodule)
; "init_heapq"
-; From python25_s.lib(imageop)
+; From python26_s.lib(imageop)
; "initimageop"
-; From python25_s.lib(itertoolsmodule)
+; From python26_s.lib(itertoolsmodule)
; "inititertools"
-; From python25_s.lib(_localemodule)
+; From python26_s.lib(_localemodule)
; "init_locale"
-; From python25_s.lib(mathmodule)
+; From python26_s.lib(mathmodule)
; "initmath"
-; From python25_s.lib(operator)
+; From python26_s.lib(md5)
+ "md5_finish"
+ "md5_init"
+ "md5_append"
+
+; From python26_s.lib(md5module)
+; "init_md5"
+
+; From python26_s.lib(operator)
; "initoperator"
-; From python25_s.lib(_randommodule)
+; From python26_s.lib(_randommodule)
; "init_random"
-; From python25_s.lib(sha256module)
+; From python26_s.lib(rgbimgmodule)
+; "initrgbimg"
+
+; From python26_s.lib(shamodule)
+; "init_sha"
+
+; From python26_s.lib(sha256module)
; "init_sha256"
-; From python25_s.lib(sha512module)
+; From python26_s.lib(sha512module)
; "init_sha512"
-; From python25_s.lib(_sre)
+; From python26_s.lib(_sre)
; "init_sre"
-; From python25_s.lib(_struct)
+; From python26_s.lib(stropmodule)
+; "initstrop"
+
+; From python26_s.lib(_struct)
; "init_struct"
-; From python25_s.lib(symtablemodule)
+; From python26_s.lib(symtablemodule)
; "init_symtable"
-; From python25_s.lib(termios)
+; From python26_s.lib(termios)
; "inittermios"
-; From python25_s.lib(timemodule)
+; From python26_s.lib(timemodule)
; "inittime"
"_PyTime_DoubleToTimet"
; "inittimezone"
-; From python25_s.lib(_weakref)
+; From python26_s.lib(timingmodule)
+; "inittiming"
+
+; From python26_s.lib(_weakref)
; "init_weakref"
-; From python25_s.lib(xxsubtype)
+; From python26_s.lib(xxsubtype)
; "initxxsubtype"
-; From python25_s.lib(zipimport)
+; From python26_s.lib(zipimport)
; "initzipimport"