修改现有Emacs Lisp函数的docstring槽

问题描述 投票:1回答:2

由于各种原因,我被迫使用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?

emacs elisp docstring
2个回答
2
投票

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

是否可以在不修改现有主体定义的情况下设置已定义的Emacs Lisp函数的docstring?

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

(put FUNCTIONSYMBOL 'function-documentation VALUE)

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

看到:

  • C-hig (elisp)Documentation Basics
  • C-hig (elisp)Accessing Documentation

2
投票

No docstring slot for ...警告是你的问题,而不是没有docstrings(这是完全正常的)。我建议你试试

(setq debug-on-message "\\`No docstring slot for")

然后查看你将(希望)尝试找出哪些软件包发出此警告及其原因的回溯(特别是为什么它只在Emacs-master中这样做:可能是Emacs-master中的错误,或者是不兼容的......在任何一种情况下,Emacs维护者都可能希望听到它。

© www.soinside.com 2019 - 2024. All rights reserved.