--- org2rem.el.orig 2009-01-09 12:47:39.000000000 +0100 +++ org2rem.el 2009-01-09 15:28:55.000000000 +0100 @@ -34,9 +34,6 @@ (eval-when-compile (require 'cl)) -(defvar org2rem-scheduled-reminders nil) -(defvar org2rem-deadline-reminders nil) -(defvar pure-time nil) (defvar org2rem-scheduled-remind-file "~/.reminders.org.scheduled") (defvar org2rem-deadline-remind-file @@ -45,6 +42,7 @@ (defun org2rem-list-reminders (regexp) "Make a list of appointments. REGEXP is either SCHEDULED: or DEADLINE:." + (let (reminders) (save-excursion (goto-char (point-min)) (while (re-search-forward @@ -66,17 +64,17 @@ (if (string-match "[0-9]+:[0-9]+" task) (save-excursion - (setq pure-time + (let ((pure-time (replace-regexp-in-string ;; "[^0-9]*\\([0-9]+:[0-9]+\\).*" "\\1" ".*\\([0-9][0-9]:[0-9][0-9]\\).*" "\\1" ;; ".*\\(\D\D:\D\D\\)+.*" "\\1" task) - ) + )) (setq rem-time (concat rem-time " AT " pure-time " ") - ) + )) ) ) @@ -95,9 +93,9 @@ (setq rem-task (concat "REM" rem-time "MSG " task "%") ) - (if (equal regexp org-scheduled-string) - (push rem-task org2rem-scheduled-reminders) - (push rem-task org2rem-deadline-reminders))))))) + (push rem-task reminders))))) + reminders)) + (defun org2rem-write-file (file reminders) "Write reminders list to files." @@ -114,15 +112,13 @@ Store scheduled appointments in `org2rem-scheduled-remind-file' and `org2rem-deadline-remind-file'." (interactive) - (setq org2rem-scheduled-reminders nil) - (setq org2rem-deadline-reminders nil) + (let ((org2rem-scheduled-reminders (org2rem-list-reminders org-scheduled-string)) + (org2rem-deadline-reminders (org2rem-list-reminders org-deadline-string))) (save-window-excursion - (org2rem-list-reminders org-scheduled-string) - (org2rem-list-reminders org-deadline-string) - (org2rem-write-file "~/.reminders.org.scheduled" + (org2rem-write-file org2rem-scheduled-remind-file org2rem-scheduled-reminders) - (org2rem-write-file "~/.reminders.org.deadline" - org2rem-deadline-reminders))) + (org2rem-write-file org2rem-deadline-remind-file + org2rem-deadline-reminders))))