;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Backup Settings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq version-control t ;; Versionsnummern für backups kept-new-versions 10 ;; Anzahl der Versionen, die zu behalten sind kept-old-versions 0 ;; Anzahl der ältesten Versionen, die zu behalten sind delete-old-versions t ;; Nicht nachfragen, ob alte Versionen gelöscht werden sollen backup-by-copying t ;; Kopiere die Dateien, benenn sie nicht um vc-make-backup-files t) ;; Mach backups von versionskontrollierten Dateien (defvar PATH_BACKUP_BASE (expand-file-name "~/.emacs.d/backup/")) ;; N.B. backtrick and comma allow evaluation of expression when forming list (setq backup-directory-alist `(("" . ,(expand-file-name "per-save" PATH_BACKUP_BASE)))) ;; Erstell Backup bei jedem Speichern ;; Dateien werden in den Unterordnern "per-session" einmalig je Emacs-Session und ;; in "per-save" bei jedem Speichern gebackupt (defun backup-every-save () (when (not buffer-backed-up) ;; erstell ein per-session-backup beim ersten Speichern (let ((backup-directory-alist ;; überschreib die default Parameter für per-sesssion-Backups `(("." . ,(expand-file-name "per-session" PATH_BACKUP_BASE)))) (kept-new-versions 3)))) (let ((buffer-backed-up nil))) ;; Erstell per-save-Backup bei jedem Speichern. ;; Erstes Speichern ergibt ebenfalls ein per-session-Backup ) (add-hook 'before-save-hook 'backup-every-save) ;;save hook hinzufügen (provide 'base-backup)