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

时间:2012-02-14 07:54:40

标签: emacs elisp

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

(defun myfun ()
   "i am already loaded the color-theme lib"
   (color-theme-initialize)
   (color-theme-darkblue))

然后我想在我的mode-hook中使用这个函数:

(add-hook 'python-mode-hook
   '(lambda ()
       (myfun)
       (...)))

但我收到一条错误消息,指出 color-theme-initialize 函数无效。

P.S。我的〜/ .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)))

2 个答案:

答案 0 :(得分:2)

您需要require(或以其他方式加载)提供color-theme-initialize的库。我在猜(require 'color-theme)

答案 1 :(得分:0)

读取错误,不是你的功能无法调用,而是 名为color-theme-initialize的函数。这个功能已经有了 删除了一些以前,但仍然可以出现在一些旧版本中 color-theme。因此,请检查您的color-theme版本并查看是否 有一个名为color-theme-initialize的函数(带有 C-H ˚F color-theme-initialize RET )。如果 函数存在然后你必须(require 'color-theme), 否则你不需要调用这个函数。