GNU Emacsテキストエディタの大部分は、Emacs Lispと呼ばれるプログラミング言語で記述されています。Emacs Lispで新しいコードを書き、それをエディタの拡張機能としてインストールすることができます。しかし、Emacs Lispは単なる拡張機能用の言語にとどまらず、それ自体が完全なコンピュータプログラミング言語です。他のプログラミング言語と同様に利用することができます。
Emacs Lispはエディタでの使用を想定して設計されているため、テキストのスキャンや構文解析のための特別な機能に加え、ファイル、バッファ、ディスプレイ、サブプロセスなどを扱うための機能も備えています。Emacs Lispは編集機能と密接に統合されており、編集コマンドはLispプログラムからも便利に呼び出せる関数となっており、カスタマイズ用のパラメータは通常のLisp変数となっています。
本マニュアルは、Emacs Lispの包括的な解説を目指したものです。Emacs Lispの初心者向け入門書としては、同じくフリーソフトウェア財団から出版されているボブ・チャセル著のAn Introduction to Emacs Lisp Programmingをご参照ください。本マニュアルでは、編集にEmacsを使用することに十分習熟していることを前提としています。こうした基本情報については、The GNU Emacs Manualをご参照ください。
概して、前半の章では多くのプログラミング言語にも対応するEmacs Lispの機能について解説し、後半の章ではEmacs Lisp特有の機能や、特に編集に関連する機能について解説しています。
これは Emacs バージョン 32.0.50 に対応する GNU Emacs Lisp リファレンスマニュアル です。