From cbbe98f04fb03922ff2e3b6bf35769cf63673153 Mon Sep 17 00:00:00 2001 From: "Kurt B. Kaiser" Date: Sun, 12 Aug 2007 01:52:35 +0000 Subject: 1. Catch TypeError exception when writing to OutputWindow 2. PyShell: shell isn't working due to encoding issues. Temporarily direct exceptions to the terminal. Also, trap exceptions occurring during write() instead of passing. Checking (2) in temporarily to aid finding the encoding problem in IOBinding.py --- Lib/idlelib/OutputWindow.py | 2 ++ Lib/idlelib/PyShell.py | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Lib/idlelib/OutputWindow.py b/Lib/idlelib/OutputWindow.py index ef155a4..4c07c03 100644 --- a/Lib/idlelib/OutputWindow.py +++ b/Lib/idlelib/OutputWindow.py @@ -40,6 +40,8 @@ class OutputWindow(EditorWindow): if isinstance(s, str): try: s = str(s, IOBinding.encoding) + except TypeError: + raise except UnicodeError: # some other encoding; let Tcl deal with it pass diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py index bfd659c..18ed3aa 100644 --- a/Lib/idlelib/PyShell.py +++ b/Lib/idlelib/PyShell.py @@ -825,7 +825,7 @@ class PyShell(OutputWindow): self.console = PseudoFile(self, "console", IOBinding.encoding) if not use_subprocess: sys.stdout = self.stdout - sys.stderr = self.stderr +### sys.stderr = self.stderr # Don't redirect exceptions, pyshell NG sys.stdin = self # self.history = self.History(self.text) @@ -1214,7 +1214,8 @@ class PyShell(OutputWindow): OutputWindow.write(self, s, tags, "iomark") self.text.mark_gravity("iomark", "left") except: - pass + raise ###pass # ### 11Aug07 KBK if we are expecting exceptions + # let's find out what they are and be specific. if self.canceled: self.canceled = 0 if not use_subprocess: -- cgit v0.12