Emacs交互式命令获取"错误的参数数量"

时间:2015-09-15 07:25:22

标签: emacs elisp

我在我的.emacs文件中有这个功能,我认为它曾经正常工作但现在没有:

(defun insert-date ()
  (interactive "i")
  (insert (format-time-string "%Y-%m-%d")))

发布M-x insert-date时,Emacs会出错:

call-interactively: Wrong number of arguments: (lambda nil (interactive "i") (insert (format-time-string "%Y-%m-%d"))), 1

我认为i的{​​{1}}参数告诉Emacs忽略任何参数,因为没有预期。阻止我使用它的命令有什么问题,就像我认为应该使用它一样?

1 个答案:

答案 0 :(得分:3)

texinfo 文档说:

  

只是`(互动)'表示交互式呼叫时不传递args。

你可能会混淆一个总是零但没有任何参数的论据。如果要以交互方式忽略特定参数,在这种情况下传递dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:23.0.1' compile 'commons-logging:commons-logging:1.2' compile 'commons-codec:commons-codec:1.9' } ,参数i将非常有用。

emacs手册中还有更多信息:20.2.1 Using interactive