GNU Emacs文本编辑器大部分由称为Emacs Lisp的编程语言写成,你可以用Emacs Lisp编写代码并将其作为扩展安装到Emacs上。然而,Emacs Lisp并不仅仅是一个“扩展性语言”,它是一个全功能的计算机编程语言,你可以象你用其他编程语言那样地使用它。
由于Emacs Lisp被设计成在编辑器内使用,它具有一些如扫描和分析文本以及处理文件、缓冲区、显示和子进程等独有的特性。Emacs Lisp和各种编辑功能紧密的结合在一起,因此,编辑命令可以做为函数在Lisp程序中被调用,而编辑器的定制参数就是普通的Lisp变量。
本文档将致力于对Emacs Lisp进行全面性的描述,对于初学者而言,如想阅读一些介绍性的文档,请参考由Free Software Foundation出版,Bob Chassell所写的An Introduction to Emacs Lisp Programming 。本书假定读者对于使用Emacs进行编辑有一定的了解,如需这方面的知识,可参考The GNU Emacs Manual文档。
总体而言,本书前面的章节描述了Emacs Lisp和其他编程语言相对应的一些特性,后面的章节则重点介绍Emacs Lisp独有的特性以及和编辑相关的特性。
本文档的版本为3.0,对应于Emacs版本23.3。