Well you fixed a bug, but not all the bugs relatd to control
strings. After your patch a control string ends with a '\a'
or a ESC \\, but if you read [1]:
*The VT510 ignores all following characters until it receives a
SUB, ST, or any other C1 control character.
So OSC, PM and APC sequence ends with a SUB (it cancels the sequence
and show a question mark as error), ST or any another C1 (8 bits)
code, or their C0 (7 bits) equivalent sequences (at this moment we
do not handle C1 codes, but we should). But it is also said that:
Cancel CAN
1/8 Immediately cancels an escape sequence, control sequence,
or device control string in progress. In this case, the
VT510 does not display any error character.
Escape ESC
1/11 Introduces an escape sequence. ESC also cancels any escape
sequence, control sequence, or device control string in
progress.
So I understand CAN should also cancel the sequence.
I am going to apply your patch, but I am going to write a patch serie
for the rest of cases.
Regards,
[1]
http://www.vt100.net/docs/vt510-rm/chapter4
--
Roberto E. Vargas Caballero
Received on Fri Apr 25 2014 - 23:55:05 CEST