|
@@ -47,11 +47,35 @@
|
|
|
;; Start in text-mode
|
|
|
(setq initial-major-mode 'text-mode)
|
|
|
|
|
|
-;; move file backups
|
|
|
-(setq backup-directory-alist
|
|
|
- `((".*" . ,(concat user-emacs-directory "backups"))))
|
|
|
-(setq auto-save-file-name-transforms
|
|
|
- `((".*" ,(concat user-emacs-directory "backups") t)))
|
|
|
+
|
|
|
+;; Backups (from https://stackoverflow.com/questions/151945/how-do-i-control-how-emacs-makes-backup-files/20824625#20824625)
|
|
|
+(setq version-control t ;; Use version numbers for backups.
|
|
|
+ kept-new-versions 10 ;; Number of newest versions to keep.
|
|
|
+ kept-old-versions 0 ;; Number of oldest versions to keep.
|
|
|
+ delete-old-versions t ;; Don't ask to delete excess backup versions.
|
|
|
+ backup-by-copying t) ;; Copy all files, don't rename them.
|
|
|
+
|
|
|
+(setq vc-make-backup-files t) ;; Backup versioned files
|
|
|
+
|
|
|
+;; Default and per-save backups go here:
|
|
|
+(setq backup-directory-alist '(("" . "~/.emacs.d/backups/per-save")))
|
|
|
+
|
|
|
+(defun force-backup-of-buffer ()
|
|
|
+ ;; Make a special "per session" backup at the first save of each
|
|
|
+ ;; emacs session.
|
|
|
+ (when (not buffer-backed-up)
|
|
|
+ ;; Override the default parameters for per-session backups.
|
|
|
+ (let ((backup-directory-alist '(("" . "~/.emacs.d/backup/per-session")))
|
|
|
+ (kept-new-versions 3))
|
|
|
+ (backup-buffer)))
|
|
|
+ ;; Make a "per save" backup on each save. The first save results in
|
|
|
+ ;; both a per-session and a per-save backup, to keep the numbering
|
|
|
+ ;; of per-save backups consistent.
|
|
|
+ (let ((buffer-backed-up nil))
|
|
|
+ (backup-buffer)))
|
|
|
+
|
|
|
+(add-hook 'before-save-hook 'force-backup-of-buffer)
|
|
|
+
|
|
|
|
|
|
;; Disable toolbar
|
|
|
(when (display-graphic-p)
|