如何在用户定义的函数im Emacs中调用函数?

如何在用户定义的函数im Emacs中调用函数?,emacs,elisp,Emacs,Elisp,我使用defun在.emacs文件中定义函数: (defun myfun () "i am already loaded the color-theme lib" (color-theme-initialize) (color-theme-darkblue)) 然后我想在我的模式钩子中使用此函数: (add-hook 'python-mode-hook '(lambda () (myfun) (...))) 但是我得到一个错误,说颜色主题初

我使用defun在.emacs文件中定义函数:

(defun myfun ()
   "i am already loaded the color-theme lib"
   (color-theme-initialize)
   (color-theme-darkblue))
然后我想在我的模式钩子中使用此函数:

(add-hook 'python-mode-hook
   '(lambda ()
       (myfun)
       (...)))
但是我得到一个错误,说颜色主题初始化函数无效

附:我的~/.emacs代码片段

(progn (require 'color-theme)
       (color-theme-initialize))

(progn (setq-default indent-tabs-mode nil)
       (setq-default tab-width 2)
       (setq indent-line-function 'insert-tab))

(add-hook 'emacs-lisp-mode-hook
          '(lambda ()
             (color-theme-resolve)
             (show-paren-mode t)
             (linum-mode t)))

您需要
要求
(或加载)提供
颜色主题初始化的库
。我猜
(require'color theme)

读取错误,不能调用的不是您的函数,而是 名为
颜色主题初始化的函数
。此功能已被删除 删除了一些时间,但仍然可以在一些旧版本中存在 属于
颜色主题
。因此,请检查您的
颜色主题版本
,看看是否 有一个名为“颜色主题初始化”的函数 C-hf
颜色主题初始化
RET)。如果 如果功能存在,则必须
(需要“颜色主题”)

否则,您不需要调用此函数。

您使用的是哪个版本的Emacs?我认为颜色主题初始化是Emacs 24的一个新特性?我的Emacs是23.3.1。我从中获取颜色主题库,它是该函数定义的库。此库交互工作正常。@davidshen84:如果使用的版本确实是此处托管的版本,我看不出如何交互调用
颜色主题初始化
,因为此函数不存在。因此,也许另一个版本的
color-theme
已经与您的emacs捆绑在一起,或者您已经安装了软件包管理器(
emacs goodies
或类似的东西)。请参阅下面我的帖子,了解如何定位此函数。否。我现在正在Emacs中交互地使用这个函数。