use-revolution Digest, Vol 45, Issue 72

Jim Lambert jiml at netrin.com
Thu Jun 28 13:33:30 EDT 2007


Jacque wrote:

> I think it's just a limitation on single-line messages. Even if you
> split it up into two statements separated with a semicolon, it doesn't 
> work:
> ...
> The message box uses a "do" statement to execute its commands. As a
> guess, maybe there's a limitation on the number of nested functions the
> "do" command can handle simultaneously.
>

Thanks, Jacque. That makes sense!

It's a minor point and has never come up for me until now. I checked 
Rev 1.1.1 and the behavior was the same back then.
Still, it seems inconsistent to me that a built-in function will work 
as part of a single command line in the msg box:

      put random(999) into fld "myFld"

but a user-created function will not.

     put myOwnRandom(999) into fld "myFld"

As you've seen, Rev simply dumps the function's result into the msg box 
then stops, ignoring the rest of the command line.
Guess it's exiting to top somewhere.

It's been so long I can't remember what HyperCard did in this 
situation. I imagine it did not ignore the remainder of the command 
line.
Just checked Director. The full line is properly executed by Lingo.
At least this Rev inconsistency is not subtle, but immediately apparent.
I wouldn't call it a bug, just an idiosyncrasy.

Thanks,
Jim Lambert





More information about the use-livecode mailing list