From bb6b1e9b26805af53e8758836343cf4b23d7f753 Mon Sep 17 00:00:00 2001 From: "Kurt B. Kaiser" Date: Sat, 14 Jul 2001 05:10:34 +0000 Subject: [PATCH] py-cvs-2001_07_13 (Rev 1.34) merge "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." --GvR --- Lib/idlelib/PyShell.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py index da827b8be16..399896af9a0 100644 --- a/Lib/idlelib/PyShell.py +++ b/Lib/idlelib/PyShell.py @@ -440,7 +440,7 @@ def close(self): if self.reading: self.top.quit() return "cancel" - return PyShellEditorWindow.close(self) + return OutputWindow.close(self) def _close(self): self.close_debugger()