Lispモードは、Common Lispのような一般用途のためのLisp方言で記述されたプログラムを記述するためのメジャーモードです。これのモードコマンドはM-x lisp-modeです。Emacsは名前が.l、.lsp、.lispで終わるファイルにたいして、自動的にLispモードを使用します。
外部LispセッションをEmacsのサブプロセス、または下位プロセス(inferior
process)として実行して、式を評価するために渡すことができます。外部Lispセッションを開始するには、M-x
run-lispとタイプします。これはlisp
という名前のプログラムを実行して、*inferior-lisp*という名前のEmacsバッファーを通じて入出力を行うようにセットアップします。M-x
run-lispで実行されるLispプログラムの名前を変更するには、変数inferior-lisp-program
を変更してください。
*lisp*バッファーのためのメジャーモードはInferior Lispモードで、これはLispモードの性質とShellモード(Shellモードを参照してください)の性質をあわせ持っています。Lispセッションに入力を送るには、*lisp*バッファーの最後に移動して、入力をタイプしてからRETをタイプします。Lispセッションからの端末出力は、自動的にそのバッファーに挿入されます。
LispプログラムをLispモードで編集する場合、C-M-x
(lisp-eval-defun
)とタイプして、Lispモードのバッファーから、M-x
run-lispで開始したLispセッションに式を送ることができます。送信される式はポイント位置、またはポイントの後ろのトップレベルのLisp式です。結果となる値は通常どおり、*inferior-lisp*バッファーに送られます。LispモードでのC-M-xの効果は、それが評価されるEmacsに送られるのではなく、異なるLisp環境に送られる点を除けば、Emacs
Lispモード(Emacs Lisp式の評価を参照してください)での効果とよく似ていることに注意してください。
Schemeコードを編集して、式をSchemeサブプロセスに送る機能は、よく似ています。Schemeソースファイルは、Schemeモードで編集されます。このモードはM-x scheme-modeで明示的に有効にできます。M-x run-schemeとタイプすることにより、Schemeセッションを開始し、C-M-xとタイプして式の送ることができます(Schemeと対話するためのバッファーは、*scheme*という名前です)。