nuntius wrote:What I couldn't get was something like "#\Esc[34mBlah". The code-char was simply cruft from experimentation.

Well, that wouldn't work. the '#\' is a reader macro as much as, for instance, '#()', and you can't place a vector inside a string as well.

Just note that (code-char 27) will not necessarily return #\Esc according to the ANSI spec. All implementation that I know of use either ASCII or Unicode, which means that it will work in all of them, but this is not required - as much as the ANSI spec concerns, you can create an implementation which uses characters with your own encoding.

gugamilare wrote:Just note that (code-char 27) will not necessarily return #\Esc according to the ANSI spec. All implementation that I know of use either ASCII or Unicode, which means that it will work in all of them, but this is not required - as much as the ANSI spec concerns, you can create an implementation which uses characters with your own encoding.

Please... If (char-code #\Esc) is not 27, there's little chance of the terminal understanding either... A real programmer would write a raw byte array anyway.

nuntius wrote:Please... If (char-code #\Esc) is not 27, there's little chance of the terminal understanding either... A real programmer would write a raw byte array anyway.

Theoretically, an implementation can create some kind of internal codification and use ASCII or Unicode to communicate with the terminal (the same way that an implementation uses Unicode internally and is able to write ISO-8859-1 files). But, you are right, it would be a waste of time to create such an implementation