Эта функция создает резервную копию файла, открытого в текущем
буфере, если это уместно. Она вызывается функцией save-buffer перед
первым сохранением буфера.
Если резервная копия была создана путем переименования, возвращаемое значение — это ячейка
cons вида (modes extra-alist backupname),
где modes — это биты режима исходного файла, возвращенные
функцией file-modes (см. Проверка доступности),
extra-alist — это alist, описывающий расширенные атрибуты исходного файла,
возвращенные функцией file-extended-attributes (см. Расширенные атрибуты файлов),
а backupname — это имя резервной копии.
Во всех остальных случаях (т.е. если резервная копия была создана путем копирования или
если резервная копия не была создана) эта функция возвращает nil.
Эта буферная переменная указывает, была ли резервная копия файла этого
буфера создана в связи с этим буфером. Если она не равна nil,
файл был записан в резервную копию. В противном случае файл должен быть
резервирован при следующем сохранении (если резервное копирование включено).
Это постоянная локальная переменная; kill-all-local-variables
не изменяет ее.
Эта переменная определяет, следует ли создавать файлы резервного копирования.
Если она не равна nil, Emacs создает резервную копию каждого
файла при его первом сохранении — при условии, что backup-inhibited
равен nil (см. ниже).
Пример ниже показывает, как изменить переменную make-backup-files
только в буферах Rmail, а не в других. Установка ее в nil
предотвращает создание резервных копий этих файлов, что может сэкономить
дисковое пространство. (Вы поместите этот код в свой файл инициализации.)
(add-hook 'rmail-mode-hook
(lambda () (setq-local make-backup-files nil)))
Значение этой переменной — это функция, которая вызывается при определенных
случаях для определения, должен ли файл иметь резервные копии. Функция принимает
один аргумент — абсолютное имя файла для рассмотрения. Если функция возвращает
nil, резервное копирование для этого файла отключено. В противном
случае другие переменные в этом разделе определяют, как и когда создавать
резервные копии.
Значение по умолчанию — normal-backup-enable-predicate,
которое проверяет файлы в temporary-file-directory и
small-temporary-file-directory.
Если эта переменная не равна nil, резервное копирование
запрещено. Она записывает результат проверки backup-enable-predicate
для открытого имени файла. Ее также можно согласованно использовать другими
механизмами, которые запрещают резервное копирование на основе открытого файла.
Например, VC устанавливает эту переменную в не-nil, чтобы
предотвратить создание резервных копий для файлов, управляемых системой
контроля версий.
Это постоянная локальная переменная, поэтому изменение основного режима не приводит
к потере ее значения. Основные режимы не должны устанавливать эту переменную —
они должны устанавливать make-backup-files вместо этого.
Значение этой переменной — это alist шаблонов имен файлов и каталогов для резервных копий. Каждый элемент выглядит так:
(regexp . directory)
Резервные копии файлов, чьи имена соответствуют regexp,
будут созданы в directory. directory может быть
относительным или абсолютным. Если он абсолютный, и все соответствующие файлы
резервируются в одном каталоге, то имена файлов в этом каталоге будут
полными именами файла, в котором все разделители каталогов заменены на
Для общего случая, когда все резервные копии помещаются в один каталог, alist должен содержать один элемент, сопоставляющий ""." с соответствующим каталогом.
Если эта переменная равна nil (по умолчанию) или не
совпадает с именем файла, резервная копия создается в каталоге исходного файла.
В файловых системах MS-DOS без длинных имен эта переменная всегда игнорируется.
Значение этой переменной — это функция, используемая для создания имен
файлов резервных копий. Функция make-backup-file-name вызывает
ее. См. Именование файлов резервных копий.
Это может быть локально буферным для выполнения чего-то специального для
конкретных файлов. Если вы измените ее, возможно, вам также потребуется
изменить backup-file-name-p и file-name-sans-versions.