5.2.2 insert-buffer 函数的主体

insert-buffer 函数的主体有两个主要部分:一个 or 表达式和一个 let 表达式。 or 表达式的目的是确保参数 buffer 绑定到一个缓冲区,而不仅仅是缓冲区的名称。 let 表达式的主体包含将另一个缓冲区复制到当前缓冲区的代码。

简而言之,这两个表达式适合于 insert-buffer 函数,如下所示:

(defun insert-buffer (buffer)
  "documentation…"
  (interactive "*bInsert buffer: ")
  (or …
      …
  (let (varlist)
      body-of-let… )

要理解 or 表达式如何确保参数 buffer 绑定到一个缓冲区而不是缓冲区的名称,首先需要了解 or 函数。

在这之前,让我使用 if 重新编写此函数的一部分,以便您可以以熟悉的方式看到所做的事情。