我编写了一个 emacs 次要模式,除了次要模式之外,它还应该使一些函数可用于显式调用。在模式的文件中,定义模式和功能后,我定义了provide
模式:
(provide 'xcode-dired-mode)
其中,在我的.emacs
I中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 文件中定义的函数?