$MESSAGE Timeout : STRING THROW
@ seconds int
"no answer within {$seconds} s"
A message takes a copy of the current settings at its $MESSAGE line: which artefacts are enabled, their names, bases and options, and the $LANGUAGE. Later settings do not change it.
The artefact list
$MESSAGE Name : A B … generates exactly the listed artefacts for this message, whatever ENABLE / DISABLE said; everything else — names, bases, LOCALE EXTRA, EXIT — still comes from the settings. The sticky settings themselves are not changed, so the next message is unaffected.
Consistency checks
After parsing, a message whose settings cannot produce compilable code is an error, reported without a position:
mstring: error: message 'A': $STRING MEMBER AS text makes a member of the streamable class, but $STREAMABLE is not enabled
mstring: error: message 'A': $EXCEPTION OVERRIDE whatStr overrides a method of the base class, but the exception has none (INHERITED)
A message without text is a warning; it still generates code (the text is empty).

