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:
https://quality.livecode.com/show_bug.cgi?id=18793

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.

--
 Richard Gaskin
 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.
https://quality.livecode.com/show_bug.cgi?id=1061#c20

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


_______________________________________________
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