修改现有Emacs Lisp函数的文档字符串槽

时间:2018-09-01 15:49:07

标签: emacs elisp docstring

由于各种原因,我不得不使用Emacs git master进行开发。在此版本中,我经常收到以下形式的警告

No docstring slot for tags-lazy-completion-table
No docstring slot for etags--xref-backend
No docstring slot for gnus-intersection
No docstring slot for grep-compute-defaults
...

通常很多,以至于减慢了我的互动速度。是否可以设置一个已经定义的Emacs Lisp函数的文档字符串,而无需修改它的现有主体定义?

2 个答案:

答案 0 :(得分:2)

import UIKit class ThanksForJoining: UIViewController, UserInfoDelegate { @IBOutlet weak var fName: UILabel! func sendUserInfo(firstName: String, lastName: String, username: String, password: String) { print(firstName) fName.text = firstName } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if (segue.identifier == "thanksForJoining") { let createNewAccount: CreateNewAccount = segue.destination as! CreateNewAccount createNewAccount.infoDelegate = self } } } 警告是您的问题,而不是缺少文档字符串(完全正常)。我建议你试试

No docstring slot for ...

,然后查看回溯,您将(希望)尝试找出哪个软件包发出此警告以及原因(尤其是为什么它仅在Emacs-master中这样做:可能是Emacs-master中的错误,还是不兼容……无论哪种情况,Emacs维护者都可能希望听听它。)

答案 1 :(得分:2)

Stefan已经解决了您的实际问题,但要回答上述问题:

  

是否可以设置已经定义的Emacs的文档字符串   Lisp函数无需修改其现有主体定义?

是的,您可以通过function-documentation符号属性。

(put FUNCTIONSYMBOL 'function-documentation VALUE)

在大多数情况下,VALUE将是一个字符串。

请参阅:

  • C-h i g (elisp)Documentation Basics
  • C-h i g (elisp)Accessing Documentation