purging a stack: the third way has been found
ambassador at fourthworld.com
Mon Jul 12 10:57:34 CDT 2004
There are two ways Transcript can purge a stack from memory: setting its
destroyStack to true and then closing the stack, or using the "delete
In more than a year and a half RevNet has had only four users which have
reported anomalies suggesting that the GoRevNet plugin is being purged
from memory, but this could not be reproduced here and in most cases the
issue had mysteriously gone away.
The Third Way Found: Preferences in the Rev IDE
The mystery has been solved thanks to the dilligent sleuthing of Jacque
Gay and Jim Lyons:
There is a preference in Rev, under the "Files and Memory" section,
which allows you to have a stack purged when the last stack in its file
This preference reflects the engine's behavior by default (no such
behavior naturally occurs unless the destroyStack is true or a script
under your own control comes into play), but apparently those few who
have reported issues have turned that preference on.
So one fix is simple enough: stomach the hit to the download time of
RevNet by replicating much of GoRevNet's scripts and libraries into
This raises a question:
Should a plugin be treated like one of the user's work stacks,
or like an extension to the IDE
enjoying the same exceptions as IDE stacks do?
The preferences were designed to operate on the user's stacks, and as a
by-product also affect plugins. But plugins serve a different role, one
arguably more akin to the nature of the IDE itself than to the user's
work stacks. So one could argue that plugins, as extensions to the IDE,
should be as exempt from this purging action as the IDE itself.
A purist might counter-argue that stacks are stacks, it in keeping with
the "eating our own haggis" approach all are treated equally.
But such a view conveniently overlooks the IDE itself, which operates by
different rules because its stacks serve a different set of goals than
the user's work stacks. If ALL stacks were treated equally it would be
like doing watch repair where the only tool you have to work with is
So in short:
Should plugins be recognized as IDE extensions and given the same
exceptional treatment as other IDE stacks?
If there's some agreement with this view I'll Bugzilla this.....
Fourth World Media Corporation
Rev tools and more: http://www.fourthworld.com/rev
More information about the use-livecode