(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
如何获得其值?
答案 0 :(得分:2)
第一个字母P
代表原始前缀参数,它是变量current-prefix-arg
的值。在这种情况下,这与第一个形式参数regexp-p
绑定。
这与p
(换行符)的第二个字母\n
分开。这是在interactive
规范中分离输入的惯例。
第二个字母p
代表数字前缀参数,即(prefix-numeric-value current-prefix-arg)
的值。在这种情况下,这与第二个形式参数no-recursive-edit
绑定。
在Elisp手册中了解此节点,节点Interactive Codes
。