Kaydet (Commit) f2fba87d authored tarafından Tim Peters's avatar Tim Peters

Fix for next iteration of SF bug 115690 (Unicode headaches in IDLE). The

parsing functions in support of auto-indent weren't expecting Unicode
strings, but text.get() can now return them (although it remains muddy as
to exactly when or why that can happen).  Fixed that with a Big Hammer.
üst 0a84a338
......@@ -113,6 +113,19 @@ class Parser:
def set_str(self, str):
assert len(str) == 0 or str[-1] == '\n'
if type(str) == type(u""):
# The parse functions have no idea what to do with Unicode, so
# replace all Unicode characters with "x". This is "safe"
# so long as the only characters germane to parsing the structure
# of Python are 7-bit ASCII. It's *necessary* because Unicode
# strings don't have a .translate() method that supports
# deletechars.
uniphooey = str
str = []
push = str.append
for raw in map(ord, uniphooey):
push(raw < 127 and chr(raw) or "x")
str = "".join(str)
self.str = str
self.study_level = 0
......
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