diff --git a/Lib/configparser.py b/Lib/configparser.py index 794f857c3f6..c0752cee865 100644 --- a/Lib/configparser.py +++ b/Lib/configparser.py @@ -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 --git a/Lib/modulefinder.py b/Lib/modulefinder.py index ebd068aaa24..b19941e61e8 100644 --- a/Lib/modulefinder.py +++ b/Lib/modulefinder.py @@ -335,30 +335,6 @@ def _safe_import_hook(self, name, caller, fromlist, level=-1): fullname = name + "." + sub self._add_badmodule(fullname, caller) - def scan_opcodes(self, co, - unpack = struct.unpack): - # Scan the code, and yield 'interesting' opcode combinations - # Version for Python 2.4 and older - code = co.co_code - names = co.co_names - consts = co.co_consts - while code: - c = code[0] - if c in STORE_OPS: - oparg, = unpack('= HAVE_ARGUMENT: - code = code[3:] - else: - code = code[1:] - def scan_opcodes_25(self, co, unpack = struct.unpack): # Scan the code, and yield 'interesting' opcode combinations @@ -390,10 +366,7 @@ def scan_opcodes_25(self, co, 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 --git a/Lib/optparse.py b/Lib/optparse.py index be0145f353d..432a2eb9b66 100644 --- a/Lib/optparse.py +++ b/Lib/optparse.py @@ -645,14 +645,8 @@ def _check_type(self): 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 --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index 5cc767b022f..06d3ca97fc3 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -695,9 +695,6 @@ def _test_task_done(cls, q): 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 --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c index 9eaf09caf53..a1dc9eb9672 100644 --- a/Modules/_cursesmodule.c +++ b/Modules/_cursesmodule.c @@ -2087,8 +2087,6 @@ static PyMethodDef PyCursesWindow_Methods[] = { {"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 --git a/Modules/_lsprof.c b/Modules/_lsprof.c index 894788916d7..0137d954437 100644 --- a/Modules/_lsprof.c +++ b/Modules/_lsprof.c @@ -451,7 +451,6 @@ profiler_callback(PyObject *self, PyFrameObject *frame, int what, 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 @@ profiler_callback(PyObject *self, PyFrameObject *frame, int what, ((PyCFunctionObject *)arg)->m_ml); } break; -#endif default: break; @@ -663,13 +661,7 @@ setBuiltins(ProfilerObject *pObj, int nvalue) 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; } @@ -767,11 +759,7 @@ profiler_init(ProfilerObject *pObj, PyObject *args, PyObject *kw) PyObject *timer = NULL; double timeunit = 0.0; int subcalls = 1; -#ifdef PyTrace_C_CALL int builtins = 1; -#else - int builtins = 0; -#endif static char *kwlist[] = {"timer", "timeunit", "subcalls", "builtins", 0}; diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c index e022a7a7e15..92dd94c4bef 100644 --- a/Modules/_tkinter.c +++ b/Modules/_tkinter.c @@ -33,20 +33,6 @@ Copyright (C) 1994 Steen Lumholt. #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 --git a/Modules/gcmodule.c b/Modules/gcmodule.c index d5fd9df5210..6281a7c3433 100644 --- a/Modules/gcmodule.c +++ b/Modules/gcmodule.c @@ -1693,13 +1693,6 @@ PyObject_GC_Track(void *op) _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(void *op) _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) {