If a macro is invoked by a modified (Ctl, Alt Shift) key or mouse event, a delay is needed to allow the macro to put up a message that won't be cleared by the release of the modifier key.
The sequence I just encountered was:
1-Alt mouse event launched my VIEW macro to look at a JPG file in a new window.
2-Windows gave immediate control back to VIEW, which issued an informative MSG.
3-When I released the ALT key, the message disappeared.
In this situation, there is little that my macro can do so I can see the msg.
If it could:
SET CLEARERRORY *|keyname [DELAY [n-keystrokes]]
that would solve the problem.
Another, more generalized approach (from my past experience with the mainframe RED editor) would be to provide a generalized DELAYMSG facility. Something like:
DELAYMSG msg_line_num count Message text