diff options
Diffstat (limited to 'Lib/idlelib/OutputWindow.py')
-rw-r--r-- | Lib/idlelib/OutputWindow.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/Lib/idlelib/OutputWindow.py b/Lib/idlelib/OutputWindow.py index 745ccd2..e18d846 100644 --- a/Lib/idlelib/OutputWindow.py +++ b/Lib/idlelib/OutputWindow.py @@ -1,7 +1,7 @@ -from tkinter import * +from Tkinter import * from idlelib.EditorWindow import EditorWindow import re -import tkinter.messagebox as tkMessageBox +import tkMessageBox from idlelib import IOBinding class OutputWindow(EditorWindow): @@ -35,12 +35,17 @@ class OutputWindow(EditorWindow): # Act as output file def write(self, s, tags=(), mark="insert"): - if isinstance(s, (bytes, bytes)): - s = s.decode(IOBinding.encoding, "replace") + # Tk assumes that byte strings are Latin-1; + # we assume that they are in the locale's encoding + if isinstance(s, str): + try: + s = unicode(s, IOBinding.encoding) + except UnicodeError: + # some other encoding; let Tcl deal with it + pass self.text.insert(mark, s, tags) self.text.see(mark) self.text.update() - return len(s) def writelines(self, lines): for line in lines: |