Go to the first, previous, next, last section, table of contents.

ローディング

(Lisp の)ファイルをロードするとは、ファイルを探しオープンし、そのファイルを入 力ストリームとして用いるよう Lisp reader に知らせ、読み込んだフォームを(次々 に)評価し、ファイルの終りになると読み込みのループを抜け、(最後に)そのファイル をクローズするということです。

Lisp がロードするファイルに(特別な)形式は存在しません。 (どんなフォームであっ ても) バッファに直接タイプすることで評価できるものは(全て) ファイルに入れるこ とができます。ほとんどのコードはまずそのように(訳注:バッファで評価してみて) テストされます。

ファイルを読み込んでいる間にエラーが生じた場合、ロードを行なう関数をアボートし (Emacs の)コマンドループに戻ります。

Function: load filename &optional missing-os nomessage nosuffix

この関数は、 Lisp コードのファイルをロードし、その中のフォームを実行しま す。

filename が完全な(訳注:complete)パス名の場合、それをそのまま用います。そ うでない場合 ( filename が相対パスの場合 e.g., filefoo.bar や `baz/foo.bar') リスト load-path 中のパスを用います。 load-path に nil が存 在しない限り、カレントなワーキングディレクトリを用いることはありません。

(最初) load は filename の後ろに `.elc' を付けた名前のファイルを探します。 それが存在する場合、それをロードします。存在しない場合、`.el' を後ろに付け た filename を試み、最後に (何も後ろに付けない) filename 自身を探します。 (load は filename を探す際、あまりかしこくはありません。ひどい例として、実 際 (load "foo.el") は `foo.el.el' という名前のファイルを探します。

filename のパスが相対パスの場合、 load-path 中の最初のディレクトリで(訳注: 上記の) 3通りの(可能な) 名前を試し、次に load-path 中の 2番目のディレクト リで試し、等々といった風に探します。

missing-ok が nil の場合、ファイルが見つからない場合、エラーになります。

nomessage が nil の場合、ローディング中に Loading foo.el ... や Loading foo.el ... done. といったメッセージをエコーエリアに表示します。

nosuffix が non-nil の場合、サフィックス `.elc' と `.el' では試みません。 この場合、 filename は詳細(訳注:precisely)に指定されてなくてはいけませ ん。

(ファイルのロードが)成功した場合、tを返します。ファイルが存在せず missing-ok が non-nil である場合、nil を返します。

Command: load-file filename

この関数は、ファイル filename をロードします。 filename が絶対パス(訳注: absolute)の場合、それをロードします。相対パスの場合、カレントなワーキング ディレクトリを用います。 load-path は用いず、サフィックスの追加も行ないま せん。

Command: load-library library

この関数は、ライブラリ library をロードします。ライブラリはファイル以上の ものではありません。(load-library の方が) インタラクティブである点を除いて load と同じです。

User Option: load-path

このグローバル変数の値は、(load でファイルをロードする際) サーチするディレ クトリのリストです。各要素は (ディレクトリ名である)ストリングか、 (カレン トなワーキングディレクトリと見なされる) nil です。 load-path は、環境変数 EMACSLOADPATH が存在する場合それで初期化され、存在しない場合 (emacs が作ら れた時) ファイル paths.h で指定されたデフォルトの値に初期化されます。

EMACSLOADPATH のシンタックスは PATH に対するのと同じで、ファイルの間を `:' で区切ります。

  load-path
  => (nil "/user/lewis/junk" "/usr/local/emacs/lisp")

Variable: load-in-progress

このグローバル変数は、(Emacs が)ファイルをロードしている間 non-nil で、そ れ以外の時は nil です。関数定義の外のコードで、この変数の値を調べることは 役に立つことがあります。(訳注:??)


Go to the first, previous, next, last section, table of contents.