Emacs Lispには、Lispで記述された関数を、より効率的に実行可能なバイトコードと呼ばれる特殊な表現に変換するコンパイラがあります。このコンパイラは、Lispの関数定義をバイトコードに置き換えます。バイトコード関数が呼び出されると、その定義はバイトコードインタプリタによって評価されます。
バイトコード形式のコードは、マシンのハードウェアによって直接実行されるのではなく(真のコンパイル済みコードとは異なり)、バイトコードインタプリタによって評価されるため、再コンパイルすることなくマシン間を完全に移植することが可能です。ただし、真のコンパイル済みコードほどの速度はありません。
一般的に、いかなるバージョンのEmacsでも、それ以前の比較的新しいバージョンのEmacsで生成されたバイトコンパイル済みコードを実行できますが、その逆は成り立ちません。
Lispファイルを一切コンパイルしたくない場合は、次のように no-byte-compile
のファイルローカル変数バインディングをそのファイルに記述してください。
;; -*-no-byte-compile: t; -*-