42.20.4 操作按钮

以下函数用于获取和设置按钮属性。 它们常在按钮的触发函数中使用,以决定具体行为。

当参数写为 button 时,指代表某个按钮的对象: 对于覆盖层按钮是覆盖层本身, 对于文本属性按钮则是缓冲区位置或标记。 按钮被触发时,该对象会作为第一个参数传给按钮的触发函数。

Function: button-start button

返回按钮 button 的起始位置。

Function: button-end button

返回按钮 button 的结束位置。

Function: button-get button prop

获取按钮 button 中名为 prop 的属性值。

Function: button-put button prop val

将按钮 buttonprop 属性设为 val

Function: button-activate button &optional use-mouse-action

调用按钮 buttonaction 属性 (即执行该属性对应的函数,并传入唯一参数 button)。 如果 use-mouse-actionnil, 则尝试使用按钮的 mouse-action 属性代替 action; 如果按钮没有 mouse-action,则仍使用 action。 如果按钮包含 button-data 属性, 则将其作为 action 函数的参数,而非 button

Function: button-label button

返回按钮 button 的文本标签。

Function: button-type button

返回按钮 button 的类型。

Function: button-has-type-p button type

如果按钮 button 的类型是 type 或其子类型,则返回 t

Function: button-at pos

返回当前缓冲区中位置 pos 处的按钮, 若无则返回 nil。 如果 pos 处是文本属性按钮, 返回值为指向 pos 的标记。

Function: button-type-put type prop val

将按钮类型 typeprop 属性设为 val

Function: button-type-get type prop

获取按钮类型 type 中名为 prop 的属性值。

Function: button-type-subtype-p type supertype

如果按钮类型 typesupertype 的子类型,则返回 t