This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author serhiy.storchaka
Recipients python-dev, rhettinger, serhiy.storchaka, terry.reedy
Date 2016-10-24.19:26:39
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1477337199.78.0.566607430542.issue27025@psf.upfronthosting.co.za>
In-reply-to
Content
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?
History
Date User Action Args
2016-10-24 19:26:39serhiy.storchakasetrecipients: + serhiy.storchaka, rhettinger, terry.reedy, python-dev
2016-10-24 19:26:39serhiy.storchakasetmessageid: <1477337199.78.0.566607430542.issue27025@psf.upfronthosting.co.za>
2016-10-24 19:26:39serhiy.storchakalinkissue27025 messages
2016-10-24 19:26:39serhiy.storchakacreate