Serhiy Storchaka added the comment:

Now it is clear that '`' is bad prefix.

There are 32 non-alphanumerical non-control ASCII characters: '!', '"', '#', 
'$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', 
'>', '?', '@', '[', '\\', ']', '^', '_', '`', '{', '|', '}', '~'.

'{', '}', '"', '[', ']', '$', '\\' is basic part of Tcl syntax.
'(' and ')' are used in array indexing.
';' is command delimiter. '#' is a commenting command (and what is more 
important, it is widely used in generated by Tk widget names).
'.' is component delimiter in widget names.
'-' starts an option.
'%' starts a substitution in callbacks.
'?' and '*' are used in patterns.
"'", ',', and '`' look like grit on my screen.

What is left? '!', '&', '+', '/', ':', '<', '=', '>', '@', '^', '_', '|', '~'.

'@' starts coordinates or image path in some commands.
'~' is expanded to home directory in paths.
'!' is used for comments in X resources.
'|' looks too distant from preceding dot and following name.

Not all of these arguments are absolute stoppers. Personally I like '!', '?' 
and '@'. Unlikely generated names are saved in X resources or searched by 
patterns. If you need the widget being named, you just specify a name instead 
of allowing Tkinter generate arbitrary one.

What are your preferences Terry?

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27025>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to