[Python-Dev] PEP needed? Introducing Tcl objects
Martin v. Loewis
15 Feb 2002 21:13:43 +0100
"Fredrik Lundh" <firstname.lastname@example.org> writes:
> > For backward compatibility, there is an option on the tkapp object to
> > determine whether strings or objects are returned. This is on by
> > default when using Tkinter
> "on" as in "return strings" or "return objects" ?
In Tkinter, it returns objects by default.
> I doubt it's a good idea to change the return type without any
This is not as bad as it sounds. For most functions, the return type
does not change at all. Consider
"""Return the number of bits per pixel."""
return getint(self.tk.call('winfo', 'depth', self._w))
'winfo depth' will return a Tcl int in Tcl, which is currently
converted to a string in _tkinter, then converted back to an int.
With the change, tk.call will already return an int, so the getint
invocation becomes a no-op.
For others, a conversion into string will continue to return the value
that it currently returns:
<color object at 0x0824b4b0>
I would expect that few if any applications will be affected; those
would need to change the default after import Tkinter.
> if the default is "use old behaviour", check it in.
> if you insist on changing the return types, post it to SF.
I'd like to change the return types. If that is not acceptable, I'd
like to produce a DeprecationWarning if Tkinter is imported and the
new-style behaviour (return objects) is not enabled.