ISO/IEC 6429:1992 转义码中的选择性参数是什么?

What is a selective parameter in escape codes in ISO/IEC 6429:1992?

根据ECMA-48/5th

8.1
Types of control functions
...
f) (Pn...): Control sequence with any number of numeric parameters
g) (Ps): Control sequence with a single selective parameter
...
i) (Ps...): Control sequence with any number of selective parameters

例如,设置模式函数是用 Ps... 参数这样定义的:

8.3.125
SM - SET MODE
Notation: (Ps...)
Representation: CSI Ps... 06/08
No parameter default value.
SM causes the modes of the receiving device to be set as specified by the parameter values:
1 GUARDED AREA TRANSFER MODE (GATM)
2 KEYBOARD ACTION MODE (KAM)
3 CONTROL REPRESENTATION MODE (CRM)
...

我想用 xterm 测试这个函数,但是在 xterm 中设置模式函数的定义不同 (link):

Pm   Any number of single numeric parameters, separated by ;
     character(s).  Individual values for the parameters are listed with
     Ps .

....
CSI Pm h  Set Mode (SM).
    Ps = 2  ⇒  Keyboard Action Mode (KAM).
    Ps = 4  ⇒  Insert Mode (IRM).
    Ps = 1 2  ⇒  Send/receive (SRM).
    Ps = 2 0  ⇒  Automatic Newline (LNM).

谁能解释什么是选择性参数,以及选择性参数 (Ps...) 和 ISO 6429 中任意数字参数 (Pn...) 之间的区别?

ECMA-48 中的数字通常是以下两种类型之一:

  • 让应用程序 select 选项列表中的功能的东西(例如, select从 图形再现 列表中添加下划线或普通文本,或

  • 让应用程序指定某物的的东西(例如,行数移动光标)

自 mid/late-1970s 以来,它一直是 ECMA-48 的一部分。并非委员会中的每个人都明白这一点。查看 this page,并搜索“BSR X3.64”以查看委员会成员在 ECMA-48 上的混乱状态示例。