5

在 emacs 中,我已经阅读了以下代码片段simple.el

(frame-parameter frame 'buried-buffer-list)

参数的具体含义是'buried-buffer-list什么?它是用来做什么的?

4

2 回答 2

1

结果M-x describe function RET frame-parameter是:

frame-parameter 是一个内置函数。

(frame-parameter FRAME PARAMETER)

返回参数 PARAMETER 的 FRAME 值。如果 FRAME 为 nil,则描述当前选择的帧。

另外,请查看 Elisp 信息手册中名为"Frame/Frame Parameters"的节点。我找不到对“隐藏缓冲区列表”的具体引用。

您可能可以通过评估来获得它的价值:

(cdr (frame-parameter FRAME 'buffer-list))

因为“隐藏缓冲区”只是一个被推到特定帧缓冲区列表后面的缓冲区。请参阅文档bury-buffer

bury-buffer 是 `window.el' 中的一个交互式编译 Lisp 函数。

(bury-buffer & optional BUFFER-OR-NAME)

将 BUFFER-OR-NAME 放在所有缓冲区列表的末尾。在那里,“other-buffer”返回的可能性最小;因此,默认情况下 Cx b 最不可能选择的缓冲区。

您可以将缓冲区名称指定为 BUFFER-OR-NAME 或实际的缓冲区对象。如果 BUFFER-OR-NAME 为 nil 或省略,则掩埋当前缓冲区。此外,如果 BUFFER-OR-NAME 为 nil 或省略,则从所选窗口中删除当前缓冲区(如果它显示在那里)。

于 2008-08-29T19:42:56.773 回答
1

快速浏览http://www.update.uu.se/~ams/slask/emacs/src/frame.h返回:

List of buffers that were viewed, then buried in this frame.  The
most recently buried buffer is first.  

所以理论上你可以使用 cdr 来获得与 Ben Collins 所说的相同的列表。

于 2008-09-01T02:35:46.093 回答