On 14 April 2013 08:06, Bastien wrote: > Hi, > > Reuben Thomas writes: > > > I prefer to store my ideas in individual files rather than one big file; > > a simplified version of remember-store-in-mailbox achieves this: > > > > ;; Remember support for storing remember data in individual files. > > (defcustom remember-directory "~/remember" > > "The directory in which to store remember data as files." > > :type 'file > > :group 'remember) > > Better use remember-data-directory since there is remember-data-file? > > > (defcustom remember-directory-file-name-format "%Y-%m-%d_%T-%z" > > "The file in which to store unprocessed data." > > :type 'file > > :group 'remember) > > The docstring needs an update. > > > (defcustom remember-handler-functions '(remember-append-to-file) > > "Functions run to process remember data. > > Each function is called with the current buffer narrowed to what the > > user wants remembered. > > If any function returns non-nil, the data is assumed to have been > > recorded somewhere by that function. " > > :type 'hook > > :options '(remember-store-in-mailbox > > remember-append-to-file > > remember-store-in-files > > remember-diary-extract-entries > > org-remember-handler) > > :group 'remember) > > > > (defun remember-store-in-files () > > "Store remember data in a file in the directory `remember-directory', > > in a file named by `remember-directory-file-name-format' fed through > > `format-time-string'." > > The first line of the docstring should be a sentence. > You can use M-x checkdoc RET to catch those docstring errors. > > > (let ((moment (format-time-string remember-directory-file-name-format > (current-time))) > > (text (buffer-string))) > > (with-temp-buffer > > (insert text) > > (write-file (convert-standard-filename > > (format "%s/%s" remember-directory moment)))))) > > > > If you can use this code, I've already signed an Emacs copyright > > waiver. > > Looks okay to me -- can you provide the change as a patch against > current remember.el? > I guess it's lucky I failed to push my commit earlier! Thanks very much for the review, modified patch below against bzr master tip. === modified file 'lisp/textmodes/remember.el' --- lisp/textmodes/remember.el 2013-03-12 02:08:21 +0000 +++ lisp/textmodes/remember.el 2013-04-14 20:07:22 +0000 @@ -216,10 +216,11 @@ Each function is called with the current buffer narrowed to what the user wants remembered. If any function returns non-nil, the data is assumed to have been -recorded somewhere by that function. " +recorded somewhere by that function." :type 'hook :options '(remember-store-in-mailbox remember-append-to-file + remember-store-in-files remember-diary-extract-entries org-remember-handler) :group 'remember) @@ -429,6 +430,30 @@ (run-hook-with-args-until-success 'remember-handler-functions)) (remember-destroy)))) +;; Remembering to individual files + +(defcustom remember-data-directory "~/remember" + "The directory in which to store remember data as files." + :type 'file + :group 'remember) + +(defcustom remember-directory-file-name-format "%Y-%m-%d_%T-%z" + "A `format-time-string' format for the file name in which to store +unprocessed data." + :type 'file + :group 'remember) + +(defun remember-store-in-files () + "Store remember data in a file in `remember-data-directory'. +The file is named by `remember-directory-file-name-format' fed through +`format-time-string'." + (let ((moment (format-time-string remember-directory-file-name-format (current-time))) + (text (buffer-string))) + (with-temp-buffer + (insert text) + (write-file (convert-standard-filename + (format "%s/%s" remember-data-directory moment)))))) + ;;;###autoload (defun remember-clipboard () "Remember the contents of the current clipboard. -- http://rrt.sc3d.org