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