Stack with the same name loop
ambassador at fourthworld.com
Thu Oct 7 15:54:13 EDT 2021
Thank you for confirming that the engine does not throw an error when
encountering stacks of the same name.
At the heart of the issue seems to be a difference in how short stack
names are resolved vs things like topstack.
Though related to the duplicate stack name issue, the core underlying
cause is a separate item logged here:
If brought into parity with so many of the functions we safely rely on
like topstack (instead of the load order that's been there since the old
MC days), so much IDE code and our workflows could become simplified.
Your notes in Comment 9 in that report are especially helpful. Thanks
for the recon.
Fourth World Systems
Brian Milby wrote:
> Yes, but it does not add anything else. If you do it two times you end up with 2 identically named stacks. You can save them to disk with different long names and end up with multiple stacks with the same short name but different long name. My demo is on bug 18793. It works in the IDE.
> Sent from my iPhone
>> On Oct 7, 2021, at 1:58 PM, Richard Gaskin via use-livecode <use-livecode at lists.runrev.com> wrote:
>> Brian Milby wrote:
>> > Clone stack avoids the check. It is not that hard to get
>> > multiple stacks with the same short name but different
>> > long names in memory (in a standalone).
>> Clone alters the name of the new clone stack. The engine prepends it with "Copy of ".
>> AFAIK it's done that since 1998.
>> FWIW I did some extensive research on duplicate stack names issues about four years ago, attempting to pin down how the engine behaves and what the IDE does.
>> TL/DR: The engine has no problem with duplicate short stack names, but some IDE needs will be compromised until there is an adjustment to how the engine internally resolves short stack name references;
>> Currently the old MC implementation remains in place in which those are resolved by load order (which is almost never what any scripter needs), but more useful would be layer/message path order (which is what most scripts and esp IDE tools need).
>> Richard Gaskin
>> Fourth World Systems
More information about the use-livecode