E.8 Написание динамически загружаемых модулей

В этом разделе описывается модуль Emacs API и то, как использовать его при написании расширяющих модулей для Emacs. Модуль API определен на языке программирования C, поэтому описание и примеры в этом разделе предполагают, что модуль написан на C. Для других языков программирования вам потребуется использовать соответствующие привязки, интерфейсы и средства для вызова кода на C. Код Emacs на C требует компилятора C99 или новее (см. Диалект C), поэтому примеры кода в этом разделе также соответствуют этому стандарту.

Написание модуля и его интеграция в Emacs включает следующие задачи:

В следующих подразделах эти задачи и сам API будут описаны более подробно.

После написания вашего модуля скомпилируйте его для получения общей библиотеки в соответствии с конвенциями базовой платформы. Затем поместите общую библиотеку в каталог, указанный в load-path (см. Поиск библиотек), где Emacs сможет ее найти.

Если вы хотите проверить соответствие модуля динамическому API Emacs, запустите Emacs с опцией --module-assertions. См. Начальные опции в Руководстве GNU Emacs.