Comment 22 for bug 1297051

Revision history for this message
boon (boon-9ft1s) wrote :

Regarding DA3, as you point out, the spec is woefully inadequate for today's world. It also doesn't seem to "work" for the real terminal that I tested. It is also not currently implemented at all by xterm. That is why I have no qualms about proposing to extend the DA3 response sequence for other related purposes.

Ignoring the prefix and suffix strings (including ignoring the leading and trailing escape sequences), the real terminal that I tested transmitted "00000000" as its serial number. I am proposing that an extra semi-colon separated parameter be transmitted when terminal emulators respond to DA3. So a terminal emulator would transmit "00000000;swid" where "swid" contains the software product name and the version. I proposed a specific syntax and convention for "swid" that would ensure uniqueness across software manufacturers (with syntax borrowed from HTTP).

The proposal to use DA3 in this way would address the objections that you had to the way I am currently using ENQ.

A reasonably-implemented receiver of such a response should be able to handle the extra parameter e.g. ignore it.

This is the way DA1 works. The terminal (or terminal emulator) can send in response to DA1 a long string of semi-colon separated parameters and the host should ignore parameters that it doesn't understand or that it is not interested in. The trailing escape sequence for DA3 / the end of the escape sequence for DA1 ensures that the receiver of the response can find the end of the response even if it does not expect all the parameters. In the unlikely event that any host is actually using DA3 currently with xterm and just looks at the first 8 characters of the response, expecting to find the serial number as hex digits, then that is what it will find (a useless value but no more useless than the real terminal that I tested).