gpt4 book ai didi

emacs - 如何获得 Emacs lisp 非交互式函数的列表?

转载 作者:太空宇宙 更新时间:2023-11-03 18:33:24 26 4
gpt4 key购买 nike

如何获得可在 Emacs Lisp 中使用的非交互式函数的完整列表?

交互式功能很容易在帮助系统中找到,但我想要一份我可以使用的所有其他功能的完整列表。例如 concatcarcdr 等(最好有文档)。

谢谢

埃德

编辑:感谢 Jouni 的回答。我试了一下他的答案,并得到它来对结果进行排序(使用他的代码的结果来帮助我找到正确的排序函数!)

(flet ((first-line (text)
(if text
(substring text 0 (string-match "\n" text))
"")))
(let ((funclist (list)))
(mapatoms
(lambda (x)
(and (fboundp x) ; does x name a function?
(not (commandp (symbol-function x))) ; is it non-interactive?
(subrp (symbol-function x)) ; is it built-in?
(add-to-list 'funclist
(concat (symbol-name x) " - " (first-line (documentation x))
"\n")))))
(dolist (item (sort funclist 'string<))
(insert item))))

最佳答案

这是基本思想 - 请参阅 Emacs Lisp manual对于任何不清楚的概念。

(flet ((first-line (text)
(if text
(substring text 0 (string-match "\n" text))
"")))
(mapatoms
(lambda (x)
(and (fboundp x) ; does x name a function?
(not (commandp (symbol-function x))) ; is it non-interactive?
(subrp (symbol-function x)) ; is it built-in?
(insert (symbol-name x) " - " (first-line (documentation x)) "\n")))))

关于emacs - 如何获得 Emacs lisp 非交互式函数的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/605785/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com