В этой главе описаны функции и переменные Emacs Lisp для поиска, создания, просмотра, сохранения и других операций с файлами и каталогами. Некоторые другие функции, связанные с файлами, описаны в Буферы, а относящиеся к резервным копиям и автосохранению — в Резервные копии и автосохранение.
Многие файловые функции принимают один или несколько аргументов,
являющихся именами файлов. Имя файла — это строка. Большинство этих
функций раскрывают аргументы-имена файлов с помощью функции
expand-file-name, благодаря чему ~ обрабатывается
корректно, как и относительные имена файлов (включая
../ и пустую строку). См. Функции раскрытия имен файлов.
Кроме того, некоторые волшебные имена файлов обрабатываются особым образом. Например, когда указано удалённое имя файла, Emacs обращается к файлу по сети через соответствующий протокол. См. Удалённые файлы в Руководство по GNU Emacs. Эта обработка выполняется на очень низком уровне, поэтому можно считать, что все функции, описанные в этой главе, принимают волшебные имена файлов в качестве аргументов-имён файлов, если не указано иное. См. Создание некоторых имён файлов «волшебными» для подробностей.
Когда функции ввода-вывода файлов сигнализируют об ошибках Lisp, они
обычно используют условие file-error (см. Написание кода для обработки ошибок). Сообщение об ошибке в большинстве случаев
получается от операционной системы, согласно локали
system-messages-locale, и декодируется с использованием
кодировки locale-coding-system (см. Локали).