gpt4 book ai didi

emacs - Lisp 在 emacs 中的位置

转载 作者:行者123 更新时间:2023-12-01 10:49:05 25 4
gpt4 key购买 nike

我在哪里可以找到所有 Emacs 的 elisp 脚本?我指的不是用户自己开发或安装的脚本,而是已经存在的通用 elisp 脚本。

例如,

如果我有类似describe-charinsert-file 的函数,我如何找到包含这些函数的文件?

最佳答案

Ctrl-h f 将告诉函数的解释及其包含的位置。

如果你想要一个函数来自动执行此操作,这里是一个草案:

(defun my-find-lisp-object-file-name (function)
"Display the lisp file name of FUNCTION (a symbol)."
(interactive
(let ((fn (function-called-at-point))
(enable-recursive-minibuffers t)
val)
(setq val (completing-read (if fn
(format "Describe function (default %s): " fn)
"Describe function: ")
obarray 'fboundp t nil nil
(and fn (symbol-name fn))))
(list (if (equal val "")
fn (intern val)))))
(if (null function)
(message "You didn't specify a function")
(setq object-file-name (find-lisp-object-file-name function (symbol-function function)))
(if (eq object-file-name 'C-source)
(message "%s is in %s" function "C source code")
(setq buff (find-function-search-for-symbol function nil object-file-name))
(setq buf-name (buffer-name(car buff)))
(setq buf-pos (cdr buff))
(switch-to-buffer (car buff))
(message "%s is in %s(%s, %d)" function object-file-name buf-name buf-pos))))

关于emacs - Lisp 在 emacs 中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22650183/

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