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
This commit is contained in:
parent
801c89be5d
commit
cbbe98f04f
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue