isearch`interactive`规范使用特殊字符进行用户输入

时间:2015-01-31 21:54:12

标签: emacs elisp

(defun isearch-forward (&optional regexp-p no-recursive-edit)
  (interactive "P\np")
  (isearch-mode t (not (null regexp-p)) nil (not no-recursive-edit)))

特殊字符p(小字母p)对交互功能的作用是什么?第一个字符P(大写字母)是否表示regexp-p值来自全局var定义。

再次,参与论证,用户输入的单词作为regexp-p传递,no-recursive-edit如何获得其值?

1 个答案:

答案 0 :(得分:2)

第一个字母P代表原始前缀参数,它是变量current-prefix-arg的值。在这种情况下,这与第一个形式参数regexp-p绑定。

这与p(换行符)的第二个字母\n分开。这是在interactive规范中分离输入的惯例。

第二个字母p代表数字前缀参数,即(prefix-numeric-value current-prefix-arg)的值。在这种情况下,这与第二个形式参数no-recursive-edit绑定。

在Elisp手册中了解此节点,节点Interactive Codes