[issue14200] Idle shell crash on printing non-BMP unicode character

Vlastimil Brom report at bugs.python.org
Mon Mar 5 18:44:12 CET 2012


Vlastimil Brom <vlastimil.brom at gmail.com> added the comment:

Hi,
thanks for the pointer, after invoking idle using python.exe, I don't see the crash mentioned in the report:

Python 3.3.0a1 (default, Mar  4 2012, 17:27:59) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> got_ahsa = "\N{GOTHIC LETTER AHSA}"
>>> len(got_ahsa)
1
>>> got_ahsa.encode("unicode-escape")
b'\\U00010330'
>>> got_ahsa

>>> print(got_ahsa)

>>> 


I just get empty line as "answer" but no crash.

The console indeed contains the traceback with the error I expected

   vbr

============

Microsoft Windows XP [Verze 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Python33>python.exe -m idlelib.idle
*** Internal Error: rpc.py:SocketIO.localcall()

 Object: stdout
 Method: <bound method PseudoFile.write of <idlelib.PyShell.PseudoFile object at
 0x01CDDB50>>
 Args: ("'\U00010330'",)

Traceback (most recent call last):
  File "C:\Python33\lib\idlelib\rpc.py", line 188, in localcall
    ret = method(*args, **kwargs)
  File "C:\Python33\lib\idlelib\PyShell.py", line 1244, in write
    self.shell.write(s, self.tags)
  File "C:\Python33\lib\idlelib\PyShell.py", line 1226, in write
    OutputWindow.write(self, s, tags, "iomark")
  File "C:\Python33\lib\idlelib\OutputWindow.py", line 40, in write
    self.text.insert(mark, s, tags)
  File "C:\Python33\lib\idlelib\Percolator.py", line 25, in insert
    self.top.insert(index, chars, tags)
  File "C:\Python33\lib\idlelib\ColorDelegator.py", line 80, in insert
    self.delegate.insert(index, chars, tags)
  File "C:\Python33\lib\idlelib\PyShell.py", line 322, in insert
    UndoDelegator.insert(self, index, chars, tags)
  File "C:\Python33\lib\idlelib\UndoDelegator.py", line 81, in insert
    self.addcmd(InsertCommand(index, chars, tags))
  File "C:\Python33\lib\idlelib\UndoDelegator.py", line 116, in addcmd
    cmd.do(self.delegate)
  File "C:\Python33\lib\idlelib\UndoDelegator.py", line 219, in do
    text.insert(self.index1, self.chars, self.tags)
  File "C:\Python33\lib\idlelib\ColorDelegator.py", line 80, in insert
    self.delegate.insert(index, chars, tags)
  File "C:\Python33\lib\idlelib\WidgetRedirector.py", line 104, in __call__
    return self.tk_call(self.orig_and_operation + args)
ValueError: character U+10330 is above the range (U+0000-U+FFFF) allowed by Tcl

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue14200>
_______________________________________


More information about the Python-bugs-list mailing list