如何在Emacs Lisp中理解这个表单(交互式(列表'交互式))?

问题描述:

我发现一些代码这样,如何在Emacs Lisp中理解这个表单(交互式(列表'交互式))?

1 (require 'cl-lib) 
2 (require 'company) 
3 
4 (defun company-sample-backend (command &optional arg &rest ignored) 
5 (interactive (list 'interactive)) 
    ... 
    ) 

,但如何理解第5行?

interactive声明的参数是一个字符串或一个elisp形式,当被评估时,返回该函数的参数值列表

在这种情况下,声明使用返回列表的表单。形式为:

(list 'interactive) 

这是一个返回单个项目的列表的形式,作为符号interactive

该函数的参数列表是:

(command &optional arg &rest ignored) 

因此,当此功能交互调用,参数command将具有值interactive