Shortened forward-paragraph function definition

与其打印整个 forward-paragraph 函数,我们只打印其中的部分。如果毫无准备地阅读,这个函数可能令人生畏!

简而言之,该函数的轮廓如下:

(defun forward-paragraph (&optional arg)
  "文档…"
  (interactive "p")
  (or arg (setq arg 1))
  (let*
      变量列表
    (while (and (< arg 0) (not (bobp)))     ; 向后移动的代码
      …
    (while (and (> arg 0) (not (eobp)))     ; 向前移动的代码

函数的前部分很常规:函数的参数列表包含一个可选参数。文档随后。

interactive 声明中的小写 ‘p’ 表示处理后的前缀参数(如果有)将传递给函数。这将是一个数字,是光标将移动的段落数的重复计数。下一行的 or 表达式处理了未向函数传递参数的常见情况,即如果函数是从其他代码中调用而不是交互式调用时发生的情况。此情况在之前已经描述过。(See The forward-sentence function.) 现在我们到达了这个函数的熟悉部分的末尾。