home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

Emacs/EmacsLispロードパス(load-path)の調整

Emacs/EmacsLispロードパス(load-path)の調整

Emacs / EmacsLispロードパス(load-path)の調整
id: 365 所有者: msakamoto-sf    作成日: 2003-05-25 14:34:29
カテゴリ: Emacs 

例えば "~/sample.el" というLispソースをロードし、Emacs起動時に評価・実行するには、以下の一文を.emacs.elに設定します。(またはLispモードで評価させます)

(load "sample")

実際には、その前にLispソースを探索するディレクトリを設定する必要があります。
load-path 変数にこんな感じで、対象ディレクトリを追加します。

(setq load-path
    (append (list nil
            (expand-file-name "~/")
            (expand-file-name "~/site-lisp"))
        load-path))

load-pathリストに、ホームディレクトリとその中のsite-lispディレクトリを追加しています。
さらに、nilを追加するとカレントディレクトリも探索対象になります。
expand-file-nameはホームディレクトリを表す "~" をフルパスに展開します。これにより、間違いなくホームディレクトリを指示できます。

load関数をもう少し詳しく解説します。

(load filename (optional) missing-ok nomessage nosuffix must-suffix)
filename
ロードするLispソースファイル。nosuffix がnilであれば、.el or .elcを勝手にくっつけて、load-path内を探索する。nosuffixがnil以外であれば、.el or .elc までfilenameで指定されているものとする。
missing-ok
nilだと、Emacsはエラーを通知する。nil以外だと、エラーは通知されず、load関数はnilを返す。
nomessage
nilだと、ロード中にエコー領域に「Loading hoge...」などと表示。nil以外だと何も表示しない。
nosuffix
nilだと、filename.elcをまず探し、次にfilename.elを探す。nil以外だと、filenameにすでに.el or .elcが含まれているものとして探索する。
must-suffix
nil或いは省略されていれば、適当に.elや.elcを付加して探索。nil以外ならfilenameにすでに.el or .elcが含まれているとして探索。
(load "sample")

を詳しく説明すれば、

  1. エラーがあれば通知
  2. "sample.elc", "sample.el" の順にload-path内を探索
  3. ロード中にエコー領域にメッセージ表示

という設定でsample.elc or .el をロード、評価しなさい、という意味になります。



プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-26 14:43:58
md5:8b524da59b5d8dbbc356dca33d4fc801
sha1:18a1d7f5905386fde6b9feb6e69801ccff5cdb98
コメント
コメントを投稿するにはログインして下さい。