Загрузка
Загрузка файла кода Lisp означает ввод его содержимого в среду Lisp в виде объектов Lisp. Emacs находит и открывает файл, считывает текст, вычисляет каждую форму и затем закрывает файл. Такой файл также называется библиотекой Lisp.
Функции загрузки вычисляют все выражения в файле так же, как функция eval-buffer вычисляет все выражения в буфере. Разница в том, что функции загрузки считывают и вычисляют текст в файле, как он находится на диске, а не текст в буфере Emacs.
Загружаемый файл должен содержать выражения Lisp, либо в виде исходного кода, либо в виде скомпилированного байтового кода. Каждая форма в файле называется формой верхнего уровня. Нет специального формата для форм в загружаемом файле; любую форму в файле можно также ввести непосредственно в буфер и вычислить там. (На самом деле, большинство кода тестируется именно так.) Чаще всего формами являются определения функций и определения переменных.
Emacs также может загружать скомпилированные динамические модули: общие библиотеки, которые предоставляют дополнительные возможности для использования в программах Emacs Lisp, так же, как пакет, написанный на Emacs Lisp. При загрузке динамического модуля Emacs вызывает функцию инициализации со специальным именем, которую должен реализовать модуль, а также предоставляет дополнительные функции и переменные программам Emacs Lisp.
Для по запросу загрузки внешних библиотек, которые заранее известны как необходимые некоторыми примитивами Emacs, см. Динамические библиотеки.
| • Как программы выполняют загрузку | Функция load и другие. |
|
| • Суффиксы загрузки | Подробности о суффиксах, которые load пытается использовать. |
|
| • Поиск библиотеки | Поиск библиотеки для загрузки. | |
| • Загрузка не-ASCII символов | Символы, отличные от ASCII, в файлах Emacs Lisp. | |
| • Автозагрузка | Настройка функции для автозагрузки. | |
| • Повторная загрузка | Меры предосторожности при повторной загрузке файла. | |
| • Именованные особенности | Загрузка библиотеки, если она еще не загружена. | |
| • Место определения | Нахождение файла, в котором определен определенный символ. | |
| • Выгрузка | Как выгрузить загруженную библиотеку. | |
| • Обработчики для загрузки | Предоставление кода для выполнения при загрузке определенных библиотек. | |
| • Динамические модули | Модули предоставляют дополнительные примитивы Lisp. |
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Loading.html