Elisp Application
dot.emacs
がふくらんで来たので、別に分けて見た。
ただし、検索は共通にしている。
site-lisp
Emacs 本体の他に何か追加するのは通常 site-lisp に入れる。
site-lisp は Emacs の版依存のものと、そうでないものがある。
byte compile
(emacs -batch -f batch-byte-compile filename.el)
で出来た *.elc は
Emacs-18,19,20,21 などの間で
通常共用出来ないので、そういう時のために版別のところに入れる。
それとは別の水準の話で例えば 21.1, 21.2
などの細かい版別にも置けるようになっているが、
たいていの場合、上位互換なので、版共通 site-lisp
に入れておけば、不便が少ない。
Emacs がどこに入っているかによって、site-lisp の位置は変る。
/usr/local/share/emacs/site-lisp/
/usr/pkg/share/emacs/site-lisp/
以下では この版共通 site-lisp の位置を $SITELISP と書くことにする。
一方版毎に違うものを置くのに使われるものは、
/usr/pkg/share/emacs/21.1/site-lisp/
/usr/pkg/share/emacs/21.1-emcws/site-lisp/
のように置いてある(のが普通)
load-path
load load-library require の時に読む *.el, *.elc を探す位置(path)
を指定する変数が load-path。
つまりシェル変数の PATH path と同じようなものだと思えばいい。
subdirs.el
emacs-20
の方に書いていることと重複するが、
subdirs.el という便利なしくみがあって、それが $SITELISP
に置いてあって、読まれることになっているので、
- site-lisp が load-path に含まれているので ここ(site-lisp/)に置いてある
*.el, *.elc
は load の探索の対象になる (のは当然)
- ディレクトリ(日本語では目録と呼ぶことにしている)も、
ただ置いておけば、load-path
に含まれる
- ただし名前を工夫すれば、含まれないようにも出来る
(since 2002/02/20)
|