Kay C Lan wrote:
...
In my case I considered that it had been an error on my part to not provide
a "Cancel" button as an option.

So I'd rephrase the question, in what circumstances do you consider you NEED
to provide the option to 'exit to top' but CAN'T provide a Cancel button to
do so.

I think it's not so much that you CAN'T script around this; it's just that we've all got caught in the situation where we haven't done so. (This does come up on the list from time to time.) Most of us have probably lost data/work in some instances. And yes, in each case we could recognise that it had been an error on our part.

But if such superb and experienced programmers as us can make such mistakes, it seems like it might be a benefit if there was a way of letting us out of those mistakes gently. One of the ways in which Rev makes us more productive is by being gentle with us - we've recently been reviving an old C application, and starting a new one in C++, and I'd really forgotten how many easy ways there are to crash, which Rev protects us from. The difference is that when you crash your C/C++ app, you've got to go round that long code/compile/test cycle again (another way that Rev makes us more productive); but your code is unaffected. If you crash, or have to force quit, your Rev app, you may have lost work on the code as well.

The fundamental issue is that while Rev is generally described as not being threaded, actually it does have separate threads of execution (but nested, not parallel); new threads being invoked by messages, modal, and script. Although there are these threads, the language more or less ignores their existence, they're not well supported; so there is (AFAIK) no way for a thread to address other threads, and no way to 'exit to top' in all threads.

The threads play to our advantage in some ways; I have a set of AppleScript statements I keep handy under the name "RunRevSaviours", that do things like close the open modal dialog and send 'mouseup' to my 'Backup and Save' toolbar button. But one thing I can't do from these scripts is to cancel my running stack; I can do "exit to top" but that's in the thread that's executing my applescript.

It would be great if there was an "exit to top in all threads" variant. Perhaps even more to the point, command-period should behave in that way.

- Ben

_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to