Режим сохранения на рабочем столе
Режим сохранения на рабочем столе — это функция для сохранения состояния Emacs с одной сессии на другую. Команды уровня пользователя для использования режима сохранения на рабочем столе описаны в руководстве GNU Emacs (см. Сохранение сессий Emacs в руководстве GNU Emacs). Режимы, чьи буферы посещают файл, ничего не должны делать, чтобы использовать эту функцию.
Для буферов, не посещающих файл, для сохранения их состояния, основной режим должен связать локальную переменную буфера desktop-save-buffer со значением, отличным от nil.
- Переменная: desktop-save-buffer
-
Если эта локальная переменная буфера имеет значение, отличное от
nil, буфер будет сохранять свое состояние в файле рабочего стола при сохранении. Если значение является функцией, она вызывается при сохранении на рабочем столе с аргументом desktop-dirname, а ее значение сохраняется в файле рабочего стола вместе с состоянием буфера, для которого она была вызвана. Когда имена файлов возвращаются в качестве части дополнительной информации, они должны быть отформатированы с помощью вызова(desktop-file-name file-name desktop-dirname)
Для восстановления буферов, не посещающих файл, основной режим должен определить функцию для выполнения этой задачи, и эта функция должна быть перечислена в списке desktop-buffer-mode-handlers.
- Переменная: desktop-buffer-mode-handlers
-
Список с элементами
(major-mode . restore-buffer-function)
Функция restore-buffer-function будет вызвана со списком аргументов
(buffer-file-name buffer-name desktop-buffer-misc)
и она должна вернуть восстановленный буфер. Здесь desktop-buffer-misc — это значение, возвращаемое функцией, необязательно связанной с
desktop-save-buffer.
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/Desktop-Save-Mode.html