I would still suggest you look at SAY( ) and SAYTEXT( ) in printer.prg. As I noted before, if you set a color with either one for a single line ( or section ) it remains in force for all further calls to the SAY. It becomes the default until changed. Sometimes we want to simply put a highlight on a word or phrase in a different color. This requires extra code on each call to SAY( ) or SAYTEXT( ).
This is the behaviour of the METHOD Say() but NOT the METHOD SayText(). Seems you made the comment without actually testing SayText().
This behaviour of :Say() has been in
existence since beginning and there could be a lot of working software using this behaviour. Any change might affect the existing software.
Since all of my code is using the class rather than the command, I was getting an error trying to inject a COMMAND line. However, I translated to the SAYTEXT( ) successfully.
Usage of command syntax should not give any errors. Proof is the posting above. In addition I have been using it in many software projects without any problem. However whether to use command syntax or method directly is a matter of programmers' choice.