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.

Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to