repeat with messages
Richard Gaskin
ambassador at fourthworld.com
Fri May 16 23:30:48 EDT 2014
Jerry Jensen wrote:
> OK Richard, sorry for the TL;DR. Here is what I was trying to present:
>
> Mark S. presented a line of code:
> repeat with x = 100 down to 0 with messages
>
> I was surprised to see, in a single line of code:
> repeat ... WITH MESSAGES
> which isn't in the dictionary syntax description for "repeat".
>
> Mark responded:
> The "with messages" clause makes a repeat loop non-blocking.
>
> I tried it - the compiler didn't complain, and it ran. I wondered:
> WHAT DOES THAT DO? UNBLOCK AT EACH LOOP END?
>
> Then I wondered:
> IF ITS LEGAL AND USEFUL, WHY ISN'T IT IN THE DICTIONARY?
>
> Sorry for the confusion. I still wonder. Over to you.
> .Jerry
Thanks for that, Jerry.
I've never seen "with messages" used in a repeat statement before, and
in my test here it does nothing.
This:
on mouseup
repeat with x = 1000 down to 0 with messages
put x into fld 1
end repeat
end mouseup
...executes on OS X without any visible change to the field until it's
done, but the common workaround of adding a "wait" command:
on mouseup
repeat with x = 1000 down to 0
wait 0 with messages
put x into fld 1
end repeat
end mouseup
...allows the field to be updated (on OS X; I can't stress enough that
this workaround is only needed on that one platform; Linux and Windows
have no such issue, and once 6.7 is released OS X won't either).
Curious that the compiler doesn't complain - maybe it just ignores
everything past the stuff it can use?
A quick test proves that hypothesis:
on mouseup
repeat with x = 1000 down to 0 notwithstanding manbearbig
wait 0 with messages
put x into fld 1
end repeat
end mouseup
...compiles just fine, even though "notwithstanding" is of course not a
keyword, and we all recognize that the ManBearPig is mythical. ;)
Bug?
The compiler's errors are generally limited to those things the engine
requires to be able to tokenize a script. Ignored elements are
anomalies, but apparently won't stop either compilation or execution.
Feature, perhaps? :)
> PS the thread is now out of control.
Maybe, but those of us who live for LiveCode trivia like this can't get
enough. :)
--
Richard Gaskin
Fourth World Systems
Software Design and Development for the Desktop, Mobile, and the Web
____________________________________________________________________
Ambassador at FourthWorld.com http://www.FourthWorld.com
More information about the use-livecode
mailing list