Off by one in Terminal::TSR (tabulation stop remove) ?
I'm trying to document the behavior of ESC[Ⓝ␣d. But this sequence does not do the customary "add one to supplied parameters" before using the numeric parameter as index into the tabstop array.
This leads to the situation:
[test@localhost ~]$ echo -ne "\ta\n"
a
[test@localhost ~]$ echo -ne "\033[8 d"
[test@localhost ~]$ echo -ne "\ta\n"
a
[test@localhost ~]$ echo -ne "\033[10;8H\033H\n"
[test@localhost ~]$ echo -ne "\ta\n"
a
i.e. a tab removed with "\033[8 d" can not be restored with "\033[10;8H\033H\n", because CUP and TSR use different numbering for the same column.
Is this intended? If so do you know why this unusual behavior? Or is this an off-by-one error?