GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/External-Lisp.html ・ emacs-doc.conao3.com

29.11 外部Lispの実行

Lispモードは、Common Lispなどの汎用Lisp方言で記述されたプログラムを編集するための主要なモードです。モードコマンドはM-x lisp-modeです。Emacsは、ファイル名が.l、.lsp、または.lispで終わるファイルに対して、自動的にLispモードを使用します。

外部のLispセッションをEmacsのサブプロセスまたはインフェリオールプロセスとして実行し、そこに式を渡して評価させることができます。外部の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セッションを開始でき(Schemeとのやり取りに使用するバッファは*scheme*という名前です)、C-M-xと入力することでそこに式を送信できます。