Remember: Allow backup files for remember buffers

When setting the variable `org-remember-back-directory', each
remember buffer created will now get its own unique file name in that
directory.  So if you, by accident, overwrite a remember buffer or
remove it before storing it, there will be a backup.
This commit is contained in:
Carsten Dominik 2009-03-22 15:25:17 +01:00
parent 4d4e052b6f
commit ebb5988e9d
2 changed files with 20 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2009-03-22 Carsten Dominik <carsten.dominik@gmail.com>
* org-remember.el (org-remember-backup-directory): New variable.
(org-remember-apply-template): Write file to backup directory.
2009-03-21 Carsten Dominik <carsten.dominik@gmail.com>
* org-mouse.el (org-mouse-todo-menu): New function.

View File

@ -228,6 +228,12 @@ user each time a remember buffer with a running clock is filed away. "
(const :tag "Always" t)
(const :tag "Query user" query)))
(defcustom org-remember-backup-directory nil
"Directory where to store all remember buffers, for backup purposes."
:group 'org-remember
:type '(choice
(const :tag "No backups" nil)
(directory :tag "Directory")))
(defvar annotation) ; from remember.el, dynamically scoped in `remember-mode'
(defvar initial) ; from remember.el, dynamically scoped in `remember-mode'
@ -566,6 +572,14 @@ to be run from that hook to function properly."
(re-search-forward "%&" nil t))
(replace-match "")
(org-set-local 'org-jump-to-target-location t))
(when org-remember-backup-directory
(unless (file-directory-p org-remember-backup-directory)
(make-directory org-remember-backup-directory))
(setq buffer-file-name
(expand-file-name
(format-time-string "remember-%Y-%m-%d-%H-%M-%S")
org-remember-backup-directory))
(save-buffer))
(when (save-excursion
(goto-char (point-min))
(re-search-forward "%!" nil t))
@ -995,3 +1009,4 @@ See also the variable `org-reverse-note-order'."
;; arch-tag: 497f30d0-4bc3-4097-8622-2d27ac5f2698
;;; org-remember.el ends here