42.5.3 警告选项

这些变量供用户控制 Lisp 程序报告警告时的行为。

User Option: warning-display-at-bottom

该用户选项控制显示警告缓冲区的窗口。默认值为 t,Emacs 会在选中框架底部的窗口中显示警告缓冲区,必要时会新建窗口。若自定义为 nil,警告缓冲区将按照 display-buffer 的默认规则显示(see 为显示缓冲区选择窗口);此时可在 display-buffer-alist 中使用 warning 类别,自定义 display-buffer 显示此类缓冲区的方式(see 缓冲区显示动作关联列表)。

User Option: warning-minimum-level

该用户选项指定应立即通过弹出窗口向用户显示的最低严重级别。默认值为 :warning,表示除 :debug 外的所有警告级别均显示警告缓冲区。较低严重级别的警告仍会写入警告缓冲区,但不会强制显示。

User Option: warning-minimum-log-level

该用户选项指定应记录到警告缓冲区的最低严重级别。更低严重级别的警告将被完全忽略:既不写入缓冲区也不显示。默认值为 :warning,表示除 :debug 外的所有警告均记录。

User Option: warning-suppress-types

该列表指定发生时不应立即显示的警告类型。列表中每个元素应为一个符号列表。若某元素与警告类型的前若干元素一致,则该类型警告不会通过弹出窗口显示(仍会记录到警告缓冲区)。

例如,若该变量值为如下列表:

((foo) (bar subtype))

则类型为 foo(foo)(foo something)(bar subtype other) 的警告不会显示给用户。

User Option: warning-suppress-log-types

该列表指定应被完全忽略的警告类型:既不记录到警告缓冲区,也不显示给用户。其结构与警告类型匹配规则与上述 warning-suppress-types 相同。

启动过程中,Emacs 会延迟显示所有警告,直至加载并处理完全局配置与用户初始化文件后(see 概述:启动时的操作序列)。因此,在初始化文件中可能产生警告的代码周围使用暂存绑定(see 局部变量)这些选项不会生效,因为警告实际处理时绑定已失效。若需在启动期间屏蔽某些警告,应在初始化文件中尽早修改上述选项的值,或将暂存绑定代码放入 after-init-hookemacs-startup-hook 的函数中。See 初始化文件