On 2016-10-17 11:15, Graham Samuel wrote:
Thanks Jacque - wise words as always. The idea that the delete would
work depending on whether the stack was newly created had not occurred
to me, but seems like a good reason why my simplified tests didn’t
show the problem. I will try again to create a simple demo, and
hopefully I can file a bug report.

Thanks for the bug report (http://quality.livecode.com/show_bug.cgi?id=18612) - I was a bit puzzled about the situation you and Jacque described until I saw your code.

This isn't in fact a bug, just a subtle interaction with the stackFiles property of your 'Master' stack.

The stackFiles property maps names of stacks to filenames - it basically means that when the engine resolves a chunk reference 'stack <name>', if there is no stack in memory with the name <name>, then it will look through the stackFiles property of the stacks in memory to try and resolve it (starting with the stack of the script being executed). Furthermore, it resolves things relative to the path to the stack containing the stackFile line.

So, if you have a line 'DataStack -> DataStack.livecode' in the stackFiles, and if there is a DataStack.livecode file next to the stack containing that stackFiles line; a reference 'stack DataStack' will *always* resolve and load the stack.

Essentially, asking whether 'stack DataStack' or not exists doesn't work, because referencing the stack causes it to.

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