Загрузка файла с кодом Lisp означает помещение его содержимого в среду Lisp в виде объектов Lisp. Emacs находит и открывает файл, считывает текст, вычисляет каждую форму, а затем закрывает файл. Такой файл также называется библиотекой Lisp.
Функции загрузки вычисляют все выражения в файле точно так же, как
функция eval-buffer вычисляет все выражения в
буфере. Разница в том, что функции загрузки считывают и вычисляют
текст в файле, как он находится на диске, а не текст в буфере Emacs.
Загруженный файл должен содержать выражения Lisp, либо в виде исходного кода, либо в виде байт-скомпилированного кода. Каждая форма в файле называется формой верхнего уровня. Для форм в загружаемом файле нет специального формата; любая форма в файле может так же быть введена непосредственно в буфер и вычислена там. (Действительно, большинство кода тестируется таким образом.) Чаще всего это определения функций и определения переменных.
Emacs также может загружать скомпилированные динамические модули: общие библиотеки, которые предоставляют дополнительную функциональность для использования в программах Emacs Lisp, подобно пакету, написанному на Emacs Lisp. Когда динамический модуль загружается, Emacs вызывает специальным образом названную функцию инициализации, которую модуль должен реализовать, и которая предоставляет дополнительные функции и переменные программам Emacs Lisp.
Для загрузки внешних библиотек по требованию, которые заранее известны как необходимые для определенных примитивов Emacs, см. Динамически загружаемые библиотеки.