Strange debugger behavior
depstein at att.net
depstein at att.net
Sat Dec 20 21:08:43 EST 2003
Some weeks ago on the list, Klaus Major kindly answered my question of how to tell if Metacard
or Revolution was running by proposing the following handler:
function mcOrRev -- from Klaus Major
try
get revappversion() ## ;-)
return "rr"
catch errornum
return "mc"
end try
end mcOrRev
The handler works as intended, and I included it in a utility stack I use frequently. When
mcOrRev() gets called by a button in that stack, there is no problem. But when this utility stack
is open in Metacard -- but is not the topStack and is not in use -- I fairly often get inexplicable
error messages that finger "revappversion" as the culprit.
When script execution is interrupted, the Metacard Execution Error dialog says it is "Processing
token: revappversion." That dialog lists as "Object:" the object whose script was executing. But
that script neither contained the word "revAppVersion" nor called the mcOrRev handler. My
utility stack is the only place I have ever used "revAppVersion", and it was not in the message
path. (When my utility stack is not open at all, the problem does not arise).
When I click on "Script" in the Execution Error dialog, I am taken to a completely irrelevant script
location. When I repeat the same command that caused this erroneous error message, I tend to
get the correct error message and script location.
It is as if the MC debugger has a traumatic memory of trying to evaluate revAppVersion, and
keeps reporting that whenever there is a new problem.
Do these symptoms ring a bell with anyone else? Does the "try" structure not completely
insulate Metacard from experiencing problems from unknown functions?
David Epstein
More information about the metacard
mailing list