1 Введение

Большая часть текстового редактора GNU Emacs написана на языке программирования под названием Emacs Lisp. Вы можете писать новый код на Emacs Lisp и устанавливать его в качестве расширения редактора. Однако Emacs Lisp — это больше, чем просто язык расширения; это полноценный язык компьютерного программирования сам по себе. Вы можете использовать его, как и любой другой язык программирования.

Поскольку Emacs Lisp разработан для использования в редакторе, он имеет специальные функции для сканирования и разбора текста, а также функции для работы с файлами, буферами, отображением, подпроцессами и так далее. Emacs Lisp тесно интегрирован с функциями редактирования; таким образом, команды редактирования являются функциями, которые также могут быть удобно вызваны из программ Lisp, а параметры для настройки являются обычными переменными Lisp.

Это руководство пытается быть полным описанием Emacs Lisp. Для введения в Emacs Lisp для начинающих см. Введение в программирование на Emacs Lisp Боба Часселла, также опубликованное Free Software Foundation. Это руководство предполагает значительное знакомство с использованием Emacs для редактирования; см. Руководство GNU Emacs для этой базовой информации.

В общем смысле, более ранние главы описывают функции Emacs Lisp, которые имеют аналоги во многих языках программирования, а более поздние главы описывают функции, специфичные для Emacs Lisp или относящиеся конкретно к редактированию.

Это Руководство по Emacs Lisp GNU, соответствующее версии Emacs 30.2.