[Python-checkins] cpython (2.7): Issue #15809: IDLE shell now uses locale encoding instead of Latin1 for
serhiy.storchaka
python-checkins at python.org
Sun May 17 12:54:15 CEST 2015
https://hg.python.org/cpython/rev/247f003b42ea
changeset: 96113:247f003b42ea
branch: 2.7
parent: 96109:c473ac171041
user: Serhiy Storchaka <storchaka at gmail.com>
date: Sun May 17 13:53:54 2015 +0300
summary:
Issue #15809: IDLE shell now uses locale encoding instead of Latin1 for
decoding unicode literals.
files:
Lib/idlelib/PyShell.py | 8 +++++---
Lib/idlelib/run.py | 2 ++
Misc/NEWS | 6 ++++++
3 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -34,6 +34,7 @@
from idlelib import Debugger
from idlelib import RemoteDebugger
from idlelib import macosxSupport
+from idlelib import IOBinding
IDENTCHARS = string.ascii_letters + string.digits + "_"
HOST = '127.0.0.1' # python execution server on localhost loopback
@@ -668,10 +669,11 @@
self.more = 0
self.save_warnings_filters = warnings.filters[:]
warnings.filterwarnings(action="error", category=SyntaxWarning)
- if isinstance(source, unicode):
- from idlelib import IOBinding
+ if isinstance(source, unicode) and IOBinding.encoding != 'utf-8':
try:
- source = source.encode(IOBinding.encoding)
+ source = '# -*- coding: %s -*-\n%s' % (
+ IOBinding.encoding,
+ source.encode(IOBinding.encoding))
except UnicodeError:
self.tkconsole.resetoutput()
self.write("Unsupported characters in input\n")
diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py
--- a/Lib/idlelib/run.py
+++ b/Lib/idlelib/run.py
@@ -210,6 +210,8 @@
fn, ln, nm, line = tb[i]
if nm == '?':
nm = "-toplevel-"
+ if fn.startswith("<pyshell#") and IOBinding.encoding != 'utf-8':
+ ln -= 1 # correction for coding cookie
if not line and fn.startswith("<pyshell#"):
line = rpchandler.remotecall('linecache', 'getline',
(fn, ln), {})
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -25,6 +25,12 @@
- Issue #24134: Reverted issue #24134 changes.
+IDLE
+----
+
+- Issue #15809: IDLE shell now uses locale encoding instead of Latin1 for
+ decoding unicode literals.
+
What's New in Python 2.7.10 release candidate 1?
================================================
--
Repository URL: https://hg.python.org/cpython
More information about the Python-checkins
mailing list