42.23.3 活动显示表

每个窗口和缓冲区均可指定一个显示表。 窗口的显示表(若存在)优先级高于缓冲区的显示表。 若两者均不存在,Emacs 尝试使用标准显示表;若其为 nil, 则使用常规字符显示规则(see 常规显示规则)。 (Emacs 不会“合并”显示表:例如,若窗口有显示表,缓冲区与标准显示表会被完全忽略。)

注意显示表会影响模式行的显示,因此若想使用新显示表强制刷新模式行, 请调用 force-mode-line-update(see 模式行格式)。

Function: window-display-table &optional window

返回 window 的显示表,若无则返回 nilwindow 默认为选中窗口。

Function: set-window-display-table window table

将窗口 window 的显示表设为 table。 参数 table 应为显示表或 nil

Variable: buffer-display-table

该变量在所有缓冲区中自动为缓冲区局部变量;其值指定缓冲区的显示表。 若为 nil,则无缓冲区显示表。

Variable: standard-display-table

该变量的值为标准显示表,当 Emacs 在窗口中显示缓冲区,且未定义窗口与缓冲区显示表时使用, 或 Emacs 向标准输出/错误流输出文本时使用。尽管默认值通常为 nil, 但在交互式会话中,若终端无法显示弯引号,其默认会将弯引号映射为近似 ASCII 字符。 See 文本引用样式

disp-table 库定义了若干修改标准显示表的函数。