◐ Shell
clean mode source ↗

Issue 9201: IDLE: raises Exception TclError in a special case

[forwarded from https://launchpad.net/bugs/597763]

seen with all version, built with Tcl8.5

To reproduce the bug, use the following class:

class x(object):
 TEST = "hello"
 THE_MAXIMUM = 55

 def __init__(self, a, b):
  self.a = 3
  self.b = "test"

and set the cursor behind "test". After that use SHIFT + UP (so from 3 to incl. "test" will be marked) and after that use SHIFT + POS1, which will produce this exception:

>>> Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 1413, in __call__
    return self.func(*args)
  File "/usr/lib/python2.6/idlelib/MultiCall.py", line 151, in handler
    r = l[i](event)
  File "/usr/lib/python2.6/idlelib/EditorWindow.py", line 335, in home_callback
    if self.text.compare(first,">",last):
  File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 2863, in compare
    self._w, 'compare', index1, op, index2))
TclError: expected boolean value but got ""