Possible bug in Tkinter for Python 2.6

Eric Brunel see.signature at no.spam
Wed Nov 19 10:57:53 CET 2008

Hello all,

I'm trying out Python 2.6 and I found what might be a bug in the Tkinter  
module. How can I report it?

The possible bug is a traceback when trying to delete a menu item in a  
menu where no items have associated commands.

For example:
 from Tkinter import *

root = Tk()

mb = Menu(root)

fm = Menu(mb)
mb.add_cascade(label='File', menu=fm)


def remove_menu_item():

Button(root, text='Remove menu item',  
command=remove_menu_item).pack(padx=12, pady=24)


Clicking on the button should remove the 'Open' item in the 'File' menu,  
but ends up in a traceback:
   File "/opt/Python2.6+Tk8.5/bin/Linux/lib/python2.6/lib-tk/Tkinter.py",  
line 1410, in __call__
     return self.func(*args)
   File "menu.py", line 15, in remove_menu_item
   File "/opt/Python2.6+Tk8.5/bin/Linux/lib/python2.6/lib-tk/Tkinter.py",  
line 2670, in delete
     if c in self._tclCommands:

It just seems the _tclCommands attribute on menus is initialized to None  
and never changed if none of the items actually have a command.

python -c "print ''.join([chr(154 - ord(c)) for c in  

More information about the Python-list mailing list