summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2001-07-06 20:26:31 (GMT)
committerGuido van Rossum <guido@python.org>2001-07-06 20:26:31 (GMT)
commit4269601f5c57a16bce656efd4576c86b054a95cd (patch)
tree68747dbb091c4a969f973880fe34a2cf5ae55bed
parentab1df4fe88bc208cc917e5d6dede0ab8f758a342 (diff)
downloadcpython-4269601f5c57a16bce656efd4576c86b054a95cd.zip
cpython-4269601f5c57a16bce656efd4576c86b054a95cd.tar.gz
cpython-4269601f5c57a16bce656efd4576c86b054a95cd.tar.bz2
Amazing. A very subtle change in policy in descr-branch actually
found a bug here. Here's the deal: Class PyShell derives from class OutputWindow. Method PyShell.close() wants to invoke its parent method, but because PyShell long ago was inherited from class PyShellEditorWindow, it invokes PyShelEditorWindow.close(self). Now, class PyShellEditorWindow itself derives from class OutputWindow, and inherits the close() method from there without overriding it. Under the old rules, PyShellEditorWindow.close would return an unbound method restricted to the class that defined the implementation of close(), which was OutputWindow.close. Under the new rules, the unbound method is restricted to the class whose method was requested, that is PyShellEditorWindow, and this was correctly trapped as an error.
-rw-r--r--Tools/idle/PyShell.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/Tools/idle/PyShell.py b/Tools/idle/PyShell.py
index 1f05868..bd34d18 100644
--- a/Tools/idle/PyShell.py
+++ b/Tools/idle/PyShell.py
@@ -418,7 +418,7 @@ class PyShell(OutputWindow):
if self.reading:
self.top.quit()
return "cancel"
- return PyShellEditorWindow.close(self)
+ return OutputWindow.close(self)
def _close(self):
self.close_debugger()