2012-02-14 20 views
0

私は私の.emacsファイルで関数を定義するためにdefunのを使用します。ユーザー定義関数imacacsで関数を呼び出す方法は?

(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は、あなたがrequire(または負荷)に必要

(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))) 
+0

使用しているEmacsのバージョンは?私は色のテーマの初期化はEmacs 24の新機能だと思いますか? – Paul

+0

私のEmacsは23.3.1です。私はhttp://www.nongnu.org/color-theme/からカラーテーマのlibを取得し、それはその機能を定義したlibです。このlibは対話的にうまく動作します。 – davidshen84

+0

@ davidshen84:実際に使用されているバージョンがhttp://download.savannah.gnu.org/releases/color-theme/ここにホストされている場合、 'color-theme-initialize'を対話的に呼び出す方法はありません。この機能は存在しません。だから、別のバージョンの 'color-theme'があなたのemacsにバンドルされているか、あなたのパッケージマネージャー(' emacs-goodies'など)にインストールされているかもしれません。この機能を見つける方法を知るには、私のポストを参照してください。 – Daimrod

答えて

2

スニペットcolor-theme-initializeを提供するライブラリ。私は(require 'color-theme)を推測しています。

0

エラーを読むと、呼び出すことができない関数ではなく、color-theme-initializeという名前の関数 が表示されます。この機能は以前に一部削除された でしたが、以前のバージョンの はまだcolor-themeに存在する可能性があります。したがって、color-themeのバージョンを確認し、color-theme-initializeと呼ばれる機能があるかどう ( C-Hでcolor-theme-initializeRET F )。 関数が存在する場合、(require 'color-theme)、 にする必要があります。そうでない場合は、この関数を呼び出す必要はありません。

+0

いいえ、私はこの機能をEmacsでインタラクティブに使っています。 – davidshen84

関連する問題