39.7 缩写表属性

与缩写类似,缩写表也拥有属性,部分属性会影响其行为。 你可以在调用 define-abbrev-table 时传入这些属性, 并通过以下函数进行操作:

Function: abbrev-table-put table prop val

将缩写表 table 的属性 prop 设置为值 val

Function: abbrev-table-get table prop

返回缩写表 table 的属性 prop, 若表中无此属性则返回 nil

下列属性具有特殊含义:

:enable-function

用法与缩写属性 :enable-function 类似, 但作用于表中所有缩写。 系统在尝试查找光标前的缩写之前就会使用它, 因此可以动态修改缩写表的生效规则。

:case-fixed

用法与缩写属性 :case-fixed 类似, 但作用于表中所有缩写。

:regexp

若值非 nil,该属性为一个正则表达式, 用于在查表之前,从光标前提取缩写名称。 当正则表达式在光标前匹配时, 缩写名称应出现在子匹配 1 中。 若该属性为 nil,则默认使用 backward-wordforward-word 查找名称。 该属性允许缩写名称包含非单词语法字符。

:parents

该属性保存一个缩写表列表,当前表将从这些表中继承缩写定义。

:abbrev-table-modiff

该属性是一个计数器, 每次向表中添加新缩写时计数器加一。