From 753f0c2dd94501112e97348c11bc8a7573691c2e Mon Sep 17 00:00:00 2001 From: Madeleine Sydney Date: Sat, 15 Feb 2025 16:26:19 -0700 Subject: [PATCH] fix(emacs): Autosave fixes --- .../programs/emacs/modules/syd-autosave.el | 48 ++++++++++--------- .../crumb/programs/emacs/modules/syd-tramp.el | 4 +- 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/users/crumb/programs/emacs/modules/syd-autosave.el b/users/crumb/programs/emacs/modules/syd-autosave.el index 97e24b6..fa88a03 100755 --- a/users/crumb/programs/emacs/modules/syd-autosave.el +++ b/users/crumb/programs/emacs/modules/syd-autosave.el @@ -2,35 +2,39 @@ (require 'syd-prelude) -(use-package emacs - :config - (setq backup-directory-alist - `(("." . (file-name-concat syd-data-dir "backup"))) - auto-save-list-file-prefix (file-name-concat syd-cache-dir - "autosave") - ;; Nil means untracked files under VC won't get backed up. - vc-make-backup-files t - ;; Nil will clobber symlinks. - backup-by-copying t - ;; Use versioned backups. - version-control t - auto-save-file-name-transforms - ;; Good grief, girl... - `(("\\`/[^/]*:\\([^/]*/\\)*\\([^/]*\\)\\'" - ,(file-name-concat syd-cache-dir "autosave" "tramp-\\2") t) - (".*" - ,(file-name-concat syd-cache-dir "autosave") t)) - kept-new-versions 5 - delete-old-versions t)) +(setq backup-directory-alist + `(("." . ,(file-name-concat syd-data-dir "backup"))) + auto-save-list-file-prefix (let ((dir (file-name-concat syd-cache-dir + "autosave/"))) + (make-directory dir t) + dir) + ;; Nil means untracked files under VC won't get backed up. + vc-make-backup-files t + ;; Nil will clobber symlinks. + backup-by-copying t + ;; Use versioned backups. + version-control t + ;; Don't create ugly lockfiles. See + ;; https://www.gnu.org/software/emacs/manual/html_node/emacs/Interlocking.html#Interlocking + ;; This is a good feature, but not very relevant to a single-user system. + create-lockfiles nil + auto-save-file-name-transforms + ;; Good grief, girl... + `(("\\`/[^/]*:\\([^/]*/\\)*\\([^/]*\\)\\'" + ,(concat auto-save-list-file-prefix "tramp-\\2") t) + (".*" + ,(file-name-concat syd-cache-dir "autosave") t)) + kept-new-versions 5 + delete-old-versions t) ;; Save your cursor position in recently-opened files. (use-package saveplace - :hook (on-first-file . save-place-mode) + :hook (on-first-file-hook . save-place-mode) :custom (save-place-file (file-name-concat syd-cache-dir "places"))) ;; Keep track of recently-visited files. (use-package recentf - :hook ((on-first-file . recentf-mode) + :hook ((on-first-file-hook . recentf-mode) (find-file-hook . recentf-save-list)) :custom (recentf-save-file (file-name-concat syd-data-dir "recentf"))) diff --git a/users/crumb/programs/emacs/modules/syd-tramp.el b/users/crumb/programs/emacs/modules/syd-tramp.el index 40f1403..d8cf692 100644 --- a/users/crumb/programs/emacs/modules/syd-tramp.el +++ b/users/crumb/programs/emacs/modules/syd-tramp.el @@ -3,6 +3,8 @@ (use-package tramp :defer t :custom ((tramp-persistency-file-name (file-name-concat syd-cache-dir - "tramp")))) + "tramp")) + (tramp-auto-save-directory + (file-name-concat syd-cache-dir "tramp-autosave/")))) (provide 'syd-tramp)