>Ugh. I can see potential where you might not get what you'd expect, depending on how the ?/?? command is processed. Reminds me of the headaches back in the DOS xBASE days -- dealing with SET COLOR TO statements in code executed in ON KEY or event-triggered code (things got really fun if you had code triggered through a timer -- which was possible under WordTech's Quicksilver product -- such code tended to be flaky enough that it was best avoided)...
The "you may not like it" actually means "I think it's rather ugly". I wouldn't use this in my code... not without some safeguards, like preserving the original settings and reverting to them on exit. But it does what was originally required, before menu was mentioned.