26 Файлы

В этой главе описаны функции и переменные Emacs Lisp для поиска, создания, просмотра, сохранения и других операций с файлами и каталогами. Некоторые другие функции, связанные с файлами, описаны в Буферы, а относящиеся к резервным копиям и автосохранению — в Резервные копии и автосохранение.

Многие файловые функции принимают один или несколько аргументов, являющихся именами файлов. Имя файла — это строка. Большинство этих функций раскрывают аргументы-имена файлов с помощью функции expand-file-name, благодаря чему ~ обрабатывается корректно, как и относительные имена файлов (включая ../ и пустую строку). См. Функции раскрытия имен файлов.

Кроме того, некоторые волшебные имена файлов обрабатываются особым образом. Например, когда указано удалённое имя файла, Emacs обращается к файлу по сети через соответствующий протокол. См. Удалённые файлы в Руководство по GNU Emacs. Эта обработка выполняется на очень низком уровне, поэтому можно считать, что все функции, описанные в этой главе, принимают волшебные имена файлов в качестве аргументов-имён файлов, если не указано иное. См. Создание некоторых имён файлов «волшебными» для подробностей.

Когда функции ввода-вывода файлов сигнализируют об ошибках Lisp, они обычно используют условие file-error (см. Написание кода для обработки ошибок). Сообщение об ошибке в большинстве случаев получается от операционной системы, согласно локали system-messages-locale, и декодируется с использованием кодировки locale-coding-system (см. Локали).