diff -r 1e75ab9fd760 Lib/configparser.py --- a/Lib/configparser.py Mon Jan 20 01:11:18 2014 -0800 +++ b/Lib/configparser.py Mon Jan 20 20:45:39 2014 +0200 @@ -144,23 +144,6 @@ class Error(Exception): """Base class for ConfigParser exceptions.""" - def _get_message(self): - """Getter for 'message'; needed only to override deprecation in - BaseException. - """ - return self.__message - - def _set_message(self, value): - """Setter for 'message'; needed only to override deprecation in - BaseException. - """ - self.__message = value - - # BaseException.message has been deprecated since Python 2.6. To prevent - # DeprecationWarning from popping up over this pre-existing attribute, use - # a new property that takes lookup precedence. - message = property(_get_message, _set_message) - def __init__(self, msg=''): self.message = msg Exception.__init__(self, msg) diff -r 1e75ab9fd760 Lib/modulefinder.py --- a/Lib/modulefinder.py Mon Jan 20 01:11:18 2014 -0800 +++ b/Lib/modulefinder.py Mon Jan 20 20:45:39 2014 +0200 @@ -390,10 +390,7 @@ def scan_code(self, co, m): code = co.co_code - if sys.version_info >= (2, 5): - scanner = self.scan_opcodes_25 - else: - scanner = self.scan_opcodes + scanner = self.scan_opcodes_25 for what, args in scanner(co): if what == "store": name, = args diff -r 1e75ab9fd760 Lib/optparse.py --- a/Lib/optparse.py Mon Jan 20 01:11:18 2014 -0800 +++ b/Lib/optparse.py Mon Jan 20 20:45:39 2014 +0200 @@ -645,14 +645,8 @@ self.type = "string" else: # Allow type objects or builtin type conversion functions - # (int, str, etc.) as an alternative to their names. (The - # complicated check of builtins is only necessary for - # Python 2.1 and earlier, and is short-circuited by the - # first check on modern Pythons.) - import builtins - if ( isinstance(self.type, type) or - (hasattr(self.type, "__name__") and - getattr(builtins, self.type.__name__, None) is self.type) ): + # (int, str, etc.) as an alternative to their names. + if isinstance(self.type, type): self.type = self.type.__name__ if self.type == "str": diff -r 1e75ab9fd760 Lib/test/_test_multiprocessing.py --- a/Lib/test/_test_multiprocessing.py Mon Jan 20 01:11:18 2014 -0800 +++ b/Lib/test/_test_multiprocessing.py Mon Jan 20 20:45:39 2014 +0200 @@ -695,9 +695,6 @@ def test_task_done(self): queue = self.JoinableQueue() - if sys.version_info < (2, 5) and not hasattr(queue, 'task_done'): - self.skipTest("requires 'queue.task_done()' method") - workers = [self.Process(target=self._test_task_done, args=(queue,)) for i in range(4)] diff -r 1e75ab9fd760 Modules/_cursesmodule.c --- a/Modules/_cursesmodule.c Mon Jan 20 01:11:18 2014 -0800 +++ b/Modules/_cursesmodule.c Mon Jan 20 20:45:39 2014 +0200 @@ -2087,8 +2087,6 @@ {"nodelay", (PyCFunction)PyCursesWindow_nodelay, METH_VARARGS}, {"notimeout", (PyCFunction)PyCursesWindow_notimeout, METH_VARARGS}, {"noutrefresh", (PyCFunction)PyCursesWindow_NoOutRefresh, METH_VARARGS}, - /* Backward compatibility alias -- remove in Python 2.3 */ - {"nooutrefresh", (PyCFunction)PyCursesWindow_NoOutRefresh, METH_VARARGS}, {"overlay", (PyCFunction)PyCursesWindow_Overlay, METH_VARARGS}, {"overwrite", (PyCFunction)PyCursesWindow_Overwrite, METH_VARARGS}, diff -r 1e75ab9fd760 Modules/_lsprof.c --- a/Modules/_lsprof.c Mon Jan 20 01:11:18 2014 -0800 +++ b/Modules/_lsprof.c Mon Jan 20 20:45:39 2014 +0200 @@ -451,7 +451,6 @@ PyTrace_RETURN event will be generated, so we don't need to handle it. */ -#ifdef PyTrace_C_CALL /* not defined in Python <= 2.3 */ /* the Python function 'frame' is issuing a call to the built-in function 'arg' */ case PyTrace_C_CALL: @@ -473,7 +472,6 @@ ((PyCFunctionObject *)arg)->m_ml); } break; -#endif default: break; @@ -663,13 +661,7 @@ if (nvalue == 0) pObj->flags &= ~POF_BUILTINS; else if (nvalue > 0) { -#ifndef PyTrace_C_CALL - PyErr_SetString(PyExc_ValueError, - "builtins=True requires Python >= 2.4"); - return -1; -#else pObj->flags |= POF_BUILTINS; -#endif } return 0; } diff -r 1e75ab9fd760 Modules/_tkinter.c --- a/Modules/_tkinter.c Mon Jan 20 01:11:18 2014 -0800 +++ b/Modules/_tkinter.c Mon Jan 20 20:45:39 2014 +0200 @@ -33,20 +33,6 @@ #include #endif -/* Allow using this code in Python 2.[12] */ -#ifndef PyDoc_STRVAR -#define PyDoc_STRVAR(name,str) static char name[] = str -#endif - -#ifndef PyMODINIT_FUNC -#define PyMODINIT_FUNC void -#endif - -#ifndef PyBool_Check -#define PyBool_Check(o) 0 -#define PyBool_FromLong PyLong_FromLong -#endif - #define CHECK_SIZE(size, elemsize) \ ((size_t)(size) <= Py_MAX((size_t)INT_MAX, UINT_MAX / (size_t)(elemsize))) diff -r 1e75ab9fd760 Modules/gcmodule.c --- a/Modules/gcmodule.c Mon Jan 20 01:11:18 2014 -0800 +++ b/Modules/gcmodule.c Mon Jan 20 20:45:39 2014 +0200 @@ -1693,13 +1693,6 @@ _PyObject_GC_TRACK(op); } -/* for binary compatibility with 2.2 */ -void -_PyObject_GC_Track(PyObject *op) -{ - PyObject_GC_Track(op); -} - void PyObject_GC_UnTrack(void *op) { @@ -1710,13 +1703,6 @@ _PyObject_GC_UNTRACK(op); } -/* for binary compatibility with 2.2 */ -void -_PyObject_GC_UnTrack(PyObject *op) -{ - PyObject_GC_UnTrack(op); -} - PyObject * _PyObject_GC_Malloc(size_t basicsize) {