When is message passing required?

Paul Dupuis paul at researchware.com
Mon May 23 09:13:47 EDT 2016

In LiveCode some messages must be passed to the engine for the engine's
normal processing of the message. And with current versions of LC you
have the very handy 'pass <message> to top' to send it directly to the

For example, rawkeyDown must be passed for LiveCode to handle key
presses other than what you are trapping (unless you want all keypresses
trapped). Some message line preOpenStack you don't need to pass. The
stack still opens without passing a preOpenStack to the the engine.

Does anyone have a compiled list of which messages need to be passed or
*should* be passed vs those that you do not have to concern yourself with?

In some dictionary entries, like for rawKeyDown, it talks about the need
to pass the message (unless you want to trap all key presses). In other
dictionary entries it is not clear whether the message needs to be
passed or not. I am not sure that if it doesn't state one way or another
assuming one way or another is wise.

I know there have been some excellent flow charts of LiveCode's message
passing hierarchy (Richard Gaskin's comes to mind) but I don't recall
seeing any summation of which messages should be passed vs which do not
need to be?

More information about the Use-livecode mailing list