2.4.14 Тип макроса

Lisp-макрос — это конструкция, определяемая пользователем, которая расширяет язык Lisp. Он представляется как объект, очень похожий на функцию, но с иными семантиками передачи аргументов. Lisp-макрос имеет вид списка, чей первый элемент — это символ macro, а его CDR — это объект Lisp-функции, включая символ lambda.

Объекты Lisp-макросов обычно определяются с помощью встроенного макроса defmacro, но любой список, начинающийся с macro, является макросом в глазах Emacs. См. Макросы для объяснения того, как написать макрос.

Предупреждение: Lisp-макросы и клавиатурные макросы (см. Клавиатурные макросы) — это совершенно разные вещи. Когда мы используем слово «макрос» без уточнения, мы имеем в виду Lisp-макрос, а не клавиатурный макрос.