Как вызвать функцию в определенной пользователем функции Emacs? - PullRequest
0 голосов
/ 14 февраля 2012

Я использую 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)
       (...)))

Но я получил сообщение о том, что функция 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 ]

2 голосов
/ 14 февраля 2012

Вам нужно require (или иным образом загрузить) библиотеку, которая предоставляет color-theme-initialize. Я предполагаю (require 'color-theme).

0 голосов
/ 14 февраля 2012

Прочтите ошибку, это не ваша функция, которая может быть вызвана, но функция с именем color-theme-initialize. Эта функция была удалено несколько раз назад, но все еще может присутствовать в более старой версии color-theme. Таким образом, проверьте вашу версию color-theme и посмотрите, есть функция с именем color-theme-initialize С-ч F color-theme-initialize RET ). Если функция присутствует, тогда вы должны (require 'color-theme), в противном случае вам не нужно вызывать эту функцию.

...