short name broken?
mark at livecode.com
Thu Nov 3 09:42:26 CET 2016
On 2016-11-01 19:12, Richard Gaskin wrote:
> You're absolutely right. When in doubt I check the
> Winkler-Kamins-DeVoto reference, and indeed they verify that all name
> queries will return a value, even when the property itself is empty.
> When using "the short name" on an unnamed object, WKD says it should
> return the ID form, as LC currently does.
I must confess I struggle to find any reasonable logic behind the
current behavior of 'the short name' when the actual name of the object
is empty. Indeed, I'd suggest that it is actually a bug (well, I guess
'anomaly' by our current definition).
As 'the short name' is not meant to return a control reference, it is
slightly unsettling that it does return a control reference in one case.
Furthermore, one would hope that the following would always be true:
the short name of (control (the short name of tControl)) is the short
name of tControl
However, if tControl has an empty name, then this actually throws an
error - breaking what would appear to be a perfectly valid invariant.
Of course, I guess the motivation here is that 'you shouldn't reference
unnamed objects by name' (presumably because objects are generally
unnamed until explicitly named, and thus you get a lots of objects with
the empty name making it usually ambiguous). However, given that it
probably just as frequent to get multiple objects with the same name
(e.g. lots of buttons with name 'button'); I'm not sure the empty name
should be considered specially.
Anyway, it is the way it has always been, as you rightly point out.
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps
More information about the use-livecode