由于各种原因,我被迫使用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函数的docstring?
Stefan解决了您的实际问题,但回答了上述问题:
是否可以在不修改现有主体定义的情况下设置已定义的Emacs Lisp函数的docstring?
是的,您可以通过function-documentation
符号属性。
(put FUNCTIONSYMBOL 'function-documentation VALUE)
在大多数情况下,VALUE将是一个字符串。
看到:
(elisp)Documentation Basics
(elisp)Accessing Documentation
No docstring slot for ...
警告是你的问题,而不是没有docstrings(这是完全正常的)。我建议你试试
(setq debug-on-message "\\`No docstring slot for")
然后查看你将(希望)尝试找出哪些软件包发出此警告及其原因的回溯(特别是为什么它只在Emacs-master中这样做:可能是Emacs-master中的错误,或者是不兼容的......在任何一种情况下,Emacs维护者都可能希望听到它。