From da7b292ce9b3a94e60c7c2fda0f4de277e07ce55 Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Fri, 21 Nov 2008 06:19:29 +0100 Subject: [PATCH] More clean-up of the clock persistence code. This patch compacts the persistence code. It also make sure that no variables outside Org's name space are created. Finally, it makes sure that the resumed clock is not hidden after a restart of Emacs. --- lisp/ChangeLog | 2 ++ lisp/org-clock.el | 67 +++++++++++++++++++++++++++++-------------------------- 2 files changed, 37 insertions(+), 32 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f17c7aca3..65c9a7ad4 100755 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2008-11-21 Carsten Dominik + * org-clock.el (org-clock-load): Clean up the code. + * org.el (org-adaptive-fill-function): Allow two spaces after "1." as a list bullet. diff --git a/lisp/org-clock.el b/lisp/org-clock.el index 154b6e2ea..7486ca8df 100644 --- a/lisp/org-clock.el +++ b/lisp/org-clock.el @@ -1123,38 +1123,41 @@ a stored clock" (when (and org-clock-persist (not org-clock-loaded)) (let ((filename (expand-file-name org-clock-persist-file)) (org-clock-in-resume t) - resume-clock) - (if (file-readable-p filename) - (progn - (message "%s" "Restoring clock data") - (setq org-clock-loaded t) - (load-file filename) - ;; load history - (if (boundp 'stored-clock-history) - (save-window-excursion - (mapc (lambda (task) - (if (file-exists-p (car task)) - (org-clock-history-push (cdr task) - (find-file (car task))))) - stored-clock-history))) - ;; resume clock - (if (and resume-clock org-clock-persist - (file-exists-p (car resume-clock)) - (or (not org-clock-persist-query-resume) - (y-or-n-p - (concat - "Resume clock (" - (with-current-buffer (find-file (car resume-clock)) - (progn (goto-char (cdr resume-clock)) - (org-back-to-heading t) - (looking-at org-complex-heading-regexp) - (match-string 4))) ") ")))) - (when (file-exists-p (car resume-clock)) - (with-current-buffer (find-file (car resume-clock)) - (progn (goto-char (cdr resume-clock)) - (org-clock-in)))))) - (message "Not restoring clock data; %s not found" - org-clock-persist-file))))) + resume-clock stored-clock-history) + (if (not (file-readable-p filename)) + (message "Not restoring clock data; %s not found" + org-clock-persist-file) + (message "%s" "Restoring clock data") + (setq org-clock-loaded t) + (load-file filename) + ;; load history + (when stored-clock-history + (save-window-excursion + (mapc (lambda (task) + (if (file-exists-p (car task)) + (org-clock-history-push (cdr task) + (find-file (car task))))) + stored-clock-history))) + ;; resume clock + (when (and resume-clock org-clock-persist + (file-exists-p (car resume-clock)) + (or (not org-clock-persist-query-resume) + (y-or-n-p + (concat + "Resume clock (" + (with-current-buffer (find-file (car resume-clock)) + (save-excursion + (goto-char (cdr resume-clock)) + (org-back-to-heading t) + (and (looking-at org-complex-heading-regexp) + (match-string 4)))) + ") ")))) + (when (file-exists-p (car resume-clock)) + (with-current-buffer (find-file (car resume-clock)) + (goto-char (cdr resume-clock)) + (org-clock-in) + (if (org-invisible-p) + (org-show-context))))))))) ;;;###autoload (defun org-clock-persistence-insinuate () -- 2.11.4.GIT