gpt4 book ai didi

function - 使 emacs 模式中的函数在模式文件之外可用

转载 作者:行者123 更新时间:2023-12-04 05:48:41 30 4
gpt4 key购买 nike

我已经编写了一个 emacs 次要模式,除了次要模式之外,它还应该使一些函数可用于显式调用。在模式文件中,在定义了模式和函数之后,我得到了 provide d 模式:

(provide 'xcode-dired-mode)

其中,在我的 .emacs 中我 require :
(setq load-path (cons "~/Documents/Local Projects/xcode-emacs" load-path))
(require 'xcode-dired-mode "xcode-dired")

现在,当缓冲区处于这种模式时,我希望有一些额外的功能可用。如果我 defun lisp 文件中用于次要模式的函数,例如:
(defun xcode-build()
"Build the default target in the Xcode project."
;; ...
)

这些功能在文件之外不可用,例如 M-x xcode-build不管用。我不认为 provide处理文件是合适的做法,因为我不想这样做 require全部在 .emacs .我看过神奇的评论 ;;; ###autoload但据我所知,这仅在编译 emacs 本身时使用。

我如何安排当我的次要模式应用于缓冲区时,可以使用模式的 lisp 文件中定义的函数?

最佳答案

如需调用xcode-build通过 M-x ,您需要确保函数实现调用 interactive将函数声明为可交互调用的特殊形式。

我相信这是相关的 emacs 文档:

http://www.gnu.org/software/emacs/manual/html_node/elisp/Using-Interactive.html

http://www.gnu.org/software/emacs/manual/html_node/elisp/Interactive-Call.html

关于function - 使 emacs 模式中的函数在模式文件之外可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10366750/

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