Commit 1a0bc695 authored by Kurt B. Kaiser's avatar Kurt B. Kaiser

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
parent d653cec2
......@@ -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
......
......@@ -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:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment