Emacs Lispのコードはバイトコードにコンパイルすることができます.コンパ イルするとロードが速くなり,ロードしたときに占める領域も少なくなり,また 実行も速くなります.
Emacs Lispのソースファイルからバイトコンパイルしたファイルを作るには, M-x byte-compile-fileと入力します.この関数のデフォルト引数は,現 在のバッファに読み込んでいるファイルです.指定されたファイルを読み込んで バイトコードにコンパイルし,入力ファイル名に`c'を加えた名前のファイ ルに出力します.`rmail.el'ファイルは,`rmail.elc'にコンパイル されます.
1つのディレクトリで変更されたLispファイルを再びコンパイルするには, M-x byte-recompile-directoryを使います.引数としてディレクトリ名を 与えます.すでにバイトコンパイルされた各`.el'ファイルは,以前にコン パイルしたあとで変更されているなら,再びバイトコンパイルされます.このコ マンドに数引数を与えると,まだコンパイルされていない`.el'のファイル をコンパイルします.ファイルごとにyかnを答えます.
関数batch-byte-compile
を使ってシェルから非対話的にEmacsを呼び出
してバイトコンパイルが行なえます.コンパイルするファイルはコマンド行の引
数で指定します.次のようなシェルコマンドを使います.
emacs -batch -f batch-byte-compile files...
引数にディレクトリ名を与えることもできます.このときは実際には
byte-recompile-directory
がそのディレクトリについて呼び出されます.
batch-byte-compile
は,コマンド行の残りすべての引数をファイルかディ
レクトリ名として使い,それからEmacsプロセスを終了します.
M-x disassembleによってバイトコンパイルの結果が見られます.引数 として関数名を与えます.これはバイトコンパイルされたコードをヘルプウィン ドウに1行に1命令ずつシンボルの形式で表示します.命令が変数や定数を参照し ていたらそれも表示します.