◐ Shell
clean mode source ↗

Message 85659 - Python tracker

Reproduced with the console python.exe.
Click an item in the list on the right to choose the key ("down arrow")

Exception in Tkinter callback
Traceback (most recent call last):
  File "c:\Python30\lib\tkinter\__init__.py", line 1405, in __call__
    return self.func(*args)
  File "c:\Python30\lib\idlelib\keybindingDialog.py", line 158, in
FinalKeySelected
    self.BuildKeyString()
  File "c:\Python30\lib\idlelib\keybindingDialog.py", line 165, in
BuildKeyString
    keyList.append(finalKey)
AttributeError: 'filter' object has no attribute 'append'

Then it is still possible to save these settigs, but the binding
contains event=="Control", and IDLE fails on startup:
Traceback (most recent call last):
  File "c:\afa\python\py3k\lib\runpy.py", line 128, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "c:\afa\python\py3k\lib\runpy.py", line 34, in _run_code
    exec(code, run_globals)
  File "c:\afa\python\py3k\lib\idlelib\idle.py", line 22, in <module>
    idlelib.PyShell.main()
  File "c:\afa\python\py3k\lib\idlelib\PyShell.py", line 1375, in main
    shell = flist.open_shell()
  File "c:\afa\python\py3k\lib\idlelib\PyShell.py", line 276, in open_shell
    self.pyshell = PyShell(self)
  File "c:\afa\python\py3k\lib\idlelib\PyShell.py", line 800, in __init__
    OutputWindow.__init__(self, flist, None, None)
  File "c:\afa\python\py3k\lib\idlelib\OutputWindow.py", line 16, in
__init__
    EditorWindow.__init__(self, *args)
  File "c:\afa\python\py3k\lib\idlelib\EditorWindow.py", line 117, in
__init__
    self.apply_bindings()
  File "c:\afa\python\py3k\lib\idlelib\EditorWindow.py", line 943, in
apply_bindings
    text.event_add(event, *keylist)
  File "c:\afa\python\py3k\lib\idlelib\MultiCall.py", line 359, in event_add
    widget.event_add(self, virtual, seq)
  File "c:\afa\python\py3k\lib\tkinter\__init__.py", line 1353, in event_add
    self.tk.call(args)
_tkinter.TclError: bad event type or keysym "Control"

Simple patch attached.