Add auto-save-file-name-transforms and create the auto-save-list-file-prefix dir

This commit is contained in:
James Cherti
2026-03-13 12:17:48 -04:00
parent e5eaabadb7
commit 683803e8ad
2 changed files with 17 additions and 1 deletions

View File

@@ -425,7 +425,10 @@ To enable autosave, add the following to `~/.emacs.d/post-init.el`:
;; `recover-session' to restore unsaved changes. ;; `recover-session' to restore unsaved changes.
(setq auto-save-default t) (setq auto-save-default t)
;; Trigger an auto-save after 300 keystrokes
(setq auto-save-interval 300) (setq auto-save-interval 300)
;; Trigger an auto-save 30 seconds of idle time.
(setq auto-save-timeout 30) (setq auto-save-timeout 30)
``` ```

15
init.el
View File

@@ -229,7 +229,6 @@
;; Enable auto-save to safeguard against crashes or data loss. The ;; Enable auto-save to safeguard against crashes or data loss. The
;; `recover-file' or `recover-session' functions can be used to restore ;; `recover-file' or `recover-session' functions can be used to restore
;; auto-saved data. ;; auto-saved data.
(setq auto-save-default t)
(setq auto-save-no-message t) (setq auto-save-no-message t)
(when noninteractive (when noninteractive
@@ -246,6 +245,20 @@
(setq tramp-auto-save-directory (setq tramp-auto-save-directory
(expand-file-name "tramp-autosave/" user-emacs-directory)) (expand-file-name "tramp-autosave/" user-emacs-directory))
(setq auto-save-file-name-transforms
`(("\\`/[^/]*:\\([^/]*/\\)*\\([^/]*\\)\\'"
,(file-name-concat auto-save-list-file-prefix "tramp-\\2-") sha1)
("\\`/\\([^/]+/\\)*\\([^/]+\\)\\'"
,(file-name-concat auto-save-list-file-prefix "\\2-") sha1)))
;; Ensure the directory for auto-save session logs exists with restricted
;; permissions.
(when auto-save-default
(let ((auto-save-dir (file-name-directory auto-save-list-file-prefix)))
(unless (file-exists-p auto-save-dir)
(with-file-modes #o700
(make-directory auto-save-dir t)))))
;; Auto save options ;; Auto save options
(setq kill-buffer-delete-auto-save-files t) (setq kill-buffer-delete-auto-save-files t)