[comp.sys.mac.hypercard] Strange "feature" in HC 2.0

taylorj@yvax.byu.edu (10/17/90)

I hesitate to call this a bug, but it's pretty wierd.  Caused me all kinds of
grief before I figured out what was going on.  The problem is that when you
open a stack in another window, HyperCard 2.0 (long version = 0200800) sneaks
back to the first stack a little early if you lock the screen and use the
"answer" command.  To duplicate this behavior, create a stack called "Test 1"
and make a button with the following script:

  on mouseUp
    lock screen
    go card 1 of stack "Test 2" in a new window
    repeat
      answer the name of this stack with "Cancel" or "Repeat"
      if it is "Cancel" then exit repeat
    end repeat
  end mouseUp

Then make a stack called "Test 2".  Click the button in "Test 1" and watch what
happens.  The first two times, it will tell you you're in "Test 2" which is
where you're supposed to be, but the third and subsequent times it will tell
you you're back in "Test 1" even though there was never a "go", "pop" or other
similar command.  And if you click "Cancel" at any point you'll be in "Test 1",
not "Test 2".

Both the "lock screen" and "answer" commands seem to be needed to cause this.
If you remove "lock screen" or remove "answer", then the script functions
exactly as you would expect.

I've tried this on two different machines, a IIx and a IIcx, both running
System 6.0.5 and Multifinder.  If anyone has different results or any light to
shed on this, I'd like to hear it.

I'm also getting a "Can't understand ____" message sometimes when going to a
card on closeStack and calling a handler that's definitely on that card.  It's
not a spelling problem or anything like that (I copied the line out of the
script after getting the error, pasted it in the message box, and executed it
with no errors).  This may be a problem with the dynamic path, as changing the
call to "send ____ to this card" seems to prevent the error.  I'm trying to
isolate the code from a larger stack to pinpoint the problem, but I'm
interested to know if anyone else has run into this one.


However, I would like to note that even if these do turn out to be bonafide
bugs, I am glad Apple released HyperCard when they did rather than going
through even more beta testing to try to catch every last bug.  Even when the
great and powerful Bill (Gates, not Atkinson) pronounces a product "bug free,"
it invariably isn't.


Jim Taylor
Microcomputer Support for Curriculum   |
Brigham Young University               |   Bitnet: taylorj@byuvax.bitnet
101 HRCB, Provo, UT  84602             |   Internet: taylorj@yvax.byu.edu