diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2019-10-04 10:09:52 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-04 10:09:52 (GMT) |
commit | 06cb94bc8419b9a24df6b0d724fcd8e40c6971d6 (patch) | |
tree | 61dff1fe122eac251b43b7994f7deb40f1b9efcc /Lib/idlelib/pyshell.py | |
parent | 2290b23dfc9cce71ffc49bfcb6a5a16c570cefae (diff) | |
download | cpython-06cb94bc8419b9a24df6b0d724fcd8e40c6971d6.zip cpython-06cb94bc8419b9a24df6b0d724fcd8e40c6971d6.tar.gz cpython-06cb94bc8419b9a24df6b0d724fcd8e40c6971d6.tar.bz2 |
bpo-13153: Use OS native encoding for converting between Python and Tcl. (GH-16545)
On Windows use UTF-16 (or UTF-32 for 32-bit Tcl_UniChar) with the
"surrogatepass" error handler for converting to/from Tcl Unicode objects.
On Linux use UTF-8 with the "surrogateescape" error handler for converting
to/from Tcl String objects.
Converting strings from Tcl to Python and back now never fails
(except MemoryError).
Diffstat (limited to 'Lib/idlelib/pyshell.py')
-rwxr-xr-x | Lib/idlelib/pyshell.py | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/Lib/idlelib/pyshell.py b/Lib/idlelib/pyshell.py index 2e4dfad..bc87d24 100755 --- a/Lib/idlelib/pyshell.py +++ b/Lib/idlelib/pyshell.py @@ -679,14 +679,6 @@ class ModifiedInterpreter(InteractiveInterpreter): self.more = 0 # at the moment, InteractiveInterpreter expects str assert isinstance(source, str) - #if isinstance(source, str): - # from idlelib import iomenu - # try: - # source = source.encode(iomenu.encoding) - # except UnicodeError: - # self.tkconsole.resetoutput() - # self.write("Unsupported characters in input\n") - # return # InteractiveInterpreter.runsource() calls its runcode() method, # which is overridden (see below) return InteractiveInterpreter.runsource(self, source, filename) @@ -1298,16 +1290,6 @@ class PyShell(OutputWindow): self.set_line_and_column() def write(self, s, tags=()): - if isinstance(s, str) and len(s) and max(s) > '\uffff': - # Tk doesn't support outputting non-BMP characters - # Let's assume what printed string is not very long, - # find first non-BMP character and construct informative - # UnicodeEncodeError exception. - for start, char in enumerate(s): - if char > '\uffff': - break - raise UnicodeEncodeError("UCS-2", char, start, start+1, - 'Non-BMP character not supported in Tk') try: self.text.mark_gravity("iomark", "right") count = OutputWindow.write(self, s, tags, "iomark") |