本节描述 Emacs 用于查找或创建窗口以显示指定缓冲区的底层函数。这类函数中最常用的主力是 display-buffer,它最终会处理所有传入的缓冲区显示请求(see 为显示缓冲区选择窗口)。
display-buffer 会将查找合适窗口的任务委托给所谓的 动作函数(action functions)(see 缓冲区显示动作函数)。首先,display-buffer 会构造一个所谓的动作关联列表(action alist)—一种供动作函数微调行为的专用关联列表。然后它将该 alist 传递给每个被调用的动作函数(see 缓冲区显示动作关联列表)。
display-buffer 的行为高度可定制。要理解定制在实际中如何生效,你可能需要研究一些示例,说明 display-buffer 调用动作函数时的优先级顺序(see 动作函数的优先级)。为避免调用 display-buffer 的 Lisp 程序与用户对其行为的定制发生冲突,建议遵循本节最后部分概述的若干准则(see 冲区显示的核心原则)。