* [PATCH] Bugfix in org-add-log-setup. @ 2008-10-19 16:22 James TD Smith 2008-10-19 16:22 ` [PATCH] Allow storing clock status between emacs sessions James TD Smith 2008-10-20 5:46 ` [PATCH] Bugfix in org-add-log-setup Carsten Dominik 0 siblings, 2 replies; 17+ messages in thread From: James TD Smith @ 2008-10-19 16:22 UTC (permalink / raw) To: emacs-orgmode --- lisp/ChangeLog | 6 ++++++ lisp/org.el | 3 ++- 2 files changed, 8 insertions(+), 1 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 35ce9c3..ad7c9fe 100755 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2008-10-19 James TD Smith <ahktenzero@mohorovi.cc> + + * org.el (org-add-log-setup): Bugfix; code to find insertion point + after drawers was skipping ahead one line too many, so notes were + inserted after the first note instead of before it. + 2008-10-18 Carsten Dominik <dominik@science.uva.nl> * org-table.el (orgtbl-to-html): Bind `html-table-tag' for the diff --git a/lisp/org.el b/lisp/org.el index 9c08ba4..85f138d 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -8407,7 +8407,8 @@ EXTRA is additional text that will be inserted into the notes buffer." (while (looking-at org-drawer-regexp) (goto-char (match-end 0)) (re-search-forward org-property-end-re (point-max) t) - (forward-line)))) + (forward-line)) + (forward-line -1))) (unless org-log-states-order-reversed (and (= (char-after) ?\n) (forward-char 1)) (org-skip-over-state-notes) -- 1.5.6.5 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH] Allow storing clock status between emacs sessions. 2008-10-19 16:22 [PATCH] Bugfix in org-add-log-setup James TD Smith @ 2008-10-19 16:22 ` James TD Smith 2008-10-20 15:42 ` Helge Gudmundsen 2008-10-20 5:46 ` [PATCH] Bugfix in org-add-log-setup Carsten Dominik 1 sibling, 1 reply; 17+ messages in thread From: James TD Smith @ 2008-10-19 16:22 UTC (permalink / raw) To: emacs-orgmode Clock-related data are saved when exiting emacs ands restored when emacs is restarted. The data saved include the contents of `org-clock-history', and the running clock, if there is one. To use this, you will need to add (require 'org-clock) (org-clock-persistence-insinuate) to your .emacs and either add (setq org-clock-persist t) (setq org-clock-in-resume t) or set those options to t in custom. The patch also optionally changes the behaviour of `org-clock-in'; if `org-clock-in-resume' is set, and you clock into a task with an open clock line, org will resume the clock from that time. Also fix a couple of typos in the changelog --- lisp/ChangeLog | 31 +++++++++++++- lisp/org-clock.el | 117 +++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 138 insertions(+), 10 deletions(-) mode change 100755 => 100644 lisp/ChangeLog diff --git a/lisp/ChangeLog b/lisp/ChangeLog old mode 100755 new mode 100644 index ad7c9fe..8b836eb --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,27 @@ 2008-10-19 James TD Smith <ahktenzero@mohorovi.cc> + * org-clock.el (org-clock-persist): Add a custom option to toggle + clock persistence. + (org-clock-persist-query-save): Add a custom option to toggle + asking the user if they want to save the running clock when + exiting. + (org-clock-persist-query-resume): Add a custom option to toggle + asking the user if they want to resume the saved clock when Emacs + is restarted. + (org-clock-save): Add a function to save clock data. + This includes the contents of `org-clock-history' and the buffer + and position of the currently clocked task, if any. + (org-clock-load): Add a function to load clock data. + This populates `org-clock-history', and resumes the saved clocked + task if there is one. + (org-clock-persistence-insinuate): Add a method to set up the + hooks for clock persistence. + (org-clock-in-resume): Add a custom option to toggle starting the + clock from an open clock line. + (org-clock-in): When clocking in to an entry, if + `org-clock-in-resume' is set, check if the first clock line is + open and if so, start the clock from the time in the clock line. + * org.el (org-add-log-setup): Bugfix; code to find insertion point after drawers was skipping ahead one line too many, so notes were inserted after the first note instead of before it. @@ -21,7 +43,7 @@ * org.el (org-clock-update-time-maybe): Compute negative clock intervals correctly. -2008-10-15 James TD Smith <ahktenzero@mohorovi.cc> +2008-10-16 James TD Smith <ahktenzero@mohorovi.cc> * org.el (org-add-log-setup): Only skip drawers if the are immediately after the scheduling keywords. @@ -34,6 +56,9 @@ (org-clock-in): Use org-indent-line-function to indent clock lines. (org-clock-find-position): Fix indentation of empty clock drawers. + * org.el (org-add-log-setup): Only skip drawers if the are + immediately after the scheduling keywords. + 2008-10-16 Carsten Dominik <dominik@science.uva.nl> * org.el (org-add-log-setup): Respect @@ -125,7 +150,7 @@ * org-clock.el (org-clock-heading-for-remember): New variable. (org-clock-in): Set `org-clock-heading-for-remember'. -2008-10-01 James TD Smith <ahktenzero@mohorovi.cc> +2008-10-01 James TD Smith <ahktenzero@mohorovi.cc> * org-remember.el (org-remember-apply-template): Add new expansions: %k, %K for currently clocked task and a link to the @@ -234,7 +259,7 @@ * org-export-latex.el (org-export-latex-keywords-maybe): Bug fix. -2008-09-22 James TA Smith <ahktenzero@mohorovi.cc> +2008-09-22 James TD Smith <ahktenzero@mohorovi.cc> * org-plot.el (org-plot/gnuplot): Make tables starting with a hline work correctly. diff --git a/lisp/org-clock.el b/lisp/org-clock.el index 56894cc..d932f02 100644 --- a/lisp/org-clock.el +++ b/lisp/org-clock.el @@ -95,6 +95,34 @@ The function is called with point at the beginning of the headline." :group 'org-clock :type 'integer) +(defcustom org-clock-persist nil + "When non-nil, save the running clock when emacs is closed, and + resume it next time emacs is started." + :group 'org-clock + :type 'boolean) + +(defcustom org-clock-persist-file "~/.emacs.d/org-clock-save.el" + "File to save clock data to" + :group 'org-clock + :type 'string) + +(defcustom org-clock-persist-query-save nil + "When non-nil, ask before saving the current clock on exit" + :group 'org-clock + :type 'boolean) + +(defcustom org-clock-persist-query-resume t + "When non-nil, ask before resuming any stored clock during +load." + :group 'org-clock + :type 'boolean) + +(defcustom org-clock-in-resume nil + "If non-nil, when clocking into a task with a clock entry which +has not been closed, resume the clock from that point" + :group 'org-clock + :type 'boolean) + ;;; The clock for measuring work time. (defvar org-mode-line-string "") @@ -291,12 +319,20 @@ the clocking selection, associated with the letter `d'." (t "???"))) (setq org-clock-heading (org-propertize org-clock-heading 'face nil)) (org-clock-find-position) - - (insert "\n") (backward-char 1) - (org-indent-line-function) - (insert org-clock-string " ") - (setq org-clock-start-time (current-time)) - (setq ts (org-insert-time-stamp (current-time) 'with-hm 'inactive)) + (setq open-clock-regex + (concat "^[ \\t]* " org-clock-string + " \\[\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} +\\sw+ +[012][0-9]:[0-5][0-9]\\)\\]$")) + (if (and org-clock-in-resume (looking-at open-clock-regex)) + (progn (message "Matched %s" (match-string 1)) + (setq ts (concat "[" (match-string 1) "]")) + (goto-char (match-end 1)) + (setq org-clock-start-time (apply 'encode-time (org-parse-time-string (match-string 1))))) + (progn + (insert "\n") (backward-char 1) + (org-indent-line-function) + (insert org-clock-string " ") + (setq org-clock-start-time (current-time)) + (setq ts (org-insert-time-stamp org-clock-start-time 'with-hm 'inactive)))) (move-marker org-clock-marker (point) (buffer-base-buffer)) (or global-mode-string (setq global-mode-string '(""))) (or (memq 'org-mode-line-string global-mode-string) @@ -962,7 +998,6 @@ the currently selected interval size." (re-search-forward "#\\+END:") (end-of-line 0)))) - (defun org-clocktable-add-file (file table) (if table (let ((lines (org-split-string table "\n")) @@ -975,6 +1010,74 @@ the currently selected interval size." lines) "\n")))) +(defun org-clock-save () + "Persist various clock-related data to disk" + (with-current-buffer (find-file (expand-file-name org-clock-persist-file)) + (progn (delete-region (point-min) (point-max)) + ;;Store clock + (insert (format ";; org-persist.el - %s at %s\n" system-name (time-stamp-string))) + (if (and org-clock-persist (marker-buffer org-clock-marker) + (or (not org-clock-persist-query-save) + (y-or-n-p (concat "Save current clock (" + (substring-no-properties org-clock-heading) + ")")))) + (insert "(setq resume-clock '(\"" + (buffer-file-name (marker-buffer org-clock-marker)) + "\" . " (int-to-string (marker-position org-clock-marker)) + "))\n")) + ;;Store clocked task history. Tasks are stored reversed to make + ;;reading simpler + (if org-clock-history + (insert "(setq stored-clock-history '(" + (mapconcat + (lambda (m) + (when (marker-buffer m) + (concat "(\"" (buffer-file-name (marker-buffer m)) + "\" . " (int-to-string (marker-position m)) + ")"))) + (reverse org-clock-history) " ") "))\n")) + (save-buffer) + (kill-buffer (current-buffer))))) + +(defvar org-clock-loaded nil) + +(defun org-clock-load () + "Load various clock-related data from disk, optionally resuming +a stored clock" + (if (not org-clock-loaded) + (let ((filename (expand-file-name org-clock-persist-file)) + (org-clock-in-resume t)) + (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) + (org-clock-history-push (cdr task) + (find-file (car task)))) + stored-clock-history))) + ;; resume clock + (if (and (boundp 'resume-clock) org-clock-persist + (or (not org-clock-persist-query-resume) + (y-or-n-p "Resume clock (" + (with-current-buffer (find-file (car resume-clock)) + (progn (goto-char (cdr resume-clock)) + (looking-at org-complex-heading-regexp) + (match-string 4))) ")"))) + (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))))) + +(defun org-clock-persistence-insinuate () + "Set up hooks for clock persistence" + (add-hook 'org-mode-hook 'org-clock-load) + (add-hook 'kill-emacs-hook 'org-clock-save)) + (provide 'org-clock) ;; arch-tag: 7b42c5d4-9b36-48be-97c0-66a869daed4c -- 1.5.6.5 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH] Allow storing clock status between emacs sessions. 2008-10-19 16:22 ` [PATCH] Allow storing clock status between emacs sessions James TD Smith @ 2008-10-20 15:42 ` Helge Gudmundsen 2008-10-22 8:45 ` Helge Gudmundsen 0 siblings, 1 reply; 17+ messages in thread From: Helge Gudmundsen @ 2008-10-20 15:42 UTC (permalink / raw) To: James TD Smith; +Cc: emacs-orgmode Thanks for this one! -- helge ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] Allow storing clock status between emacs sessions. 2008-10-20 15:42 ` Helge Gudmundsen @ 2008-10-22 8:45 ` Helge Gudmundsen 2008-10-22 9:18 ` Carsten Dominik 0 siblings, 1 reply; 17+ messages in thread From: Helge Gudmundsen @ 2008-10-22 8:45 UTC (permalink / raw) To: emacs-orgmode Any chance that this patch will make it to the git repo? ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] Allow storing clock status between emacs sessions. 2008-10-22 8:45 ` Helge Gudmundsen @ 2008-10-22 9:18 ` Carsten Dominik 2008-10-22 9:25 ` Helge Gudmundsen 2008-10-22 9:42 ` James TD Smith 0 siblings, 2 replies; 17+ messages in thread From: Carsten Dominik @ 2008-10-22 9:18 UTC (permalink / raw) To: Helge Gudmundsen; +Cc: emacs-orgmode Hi Helge, this is a non-trivial patch, and have not yet had the time to look at it carefully. And I am too close to the next release 6.10, which will likely be the final version that will make it into Emacs 23, so I do not feel comfortable to add it now. After 6.10, good chances, yes. You can help by stress testing it, so that we can find bugs even before we install it. - Carsten On Oct 22, 2008, at 10:45 AM, Helge Gudmundsen wrote: > Any chance that this patch will make it to the git repo? > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] Allow storing clock status between emacs sessions. 2008-10-22 9:18 ` Carsten Dominik @ 2008-10-22 9:25 ` Helge Gudmundsen 2008-10-22 9:42 ` James TD Smith 1 sibling, 0 replies; 17+ messages in thread From: Helge Gudmundsen @ 2008-10-22 9:25 UTC (permalink / raw) To: emacs-orgmode Sure thing, I will test it (he said, while frantically typing 'man patch' in a terminal window). Best regards, Helge (and once again, thanks for org-mode, which has ended my search for the perfect note-taking and organizing application) On Wed, Oct 22, 2008 at 10:18 AM, Carsten Dominik <dominik@science.uva.nl> wrote: > Hi Helge, > > this is a non-trivial patch, and have not yet had the time to look at it > carefully. And I am too close to the next release 6.10, which will likely > be the final version that will make it into Emacs 23, so I do not feel > comfortable to add it now. After 6.10, good chances, yes. > > You can help by stress testing it, so that we can find bugs even before we > install it. > > - Carsten > > On Oct 22, 2008, at 10:45 AM, Helge Gudmundsen wrote: > >> Any chance that this patch will make it to the git repo? >> >> >> _______________________________________________ >> Emacs-orgmode mailing list >> Remember: use `Reply All' to send replies to the list. >> Emacs-orgmode@gnu.org >> http://lists.gnu.org/mailman/listinfo/emacs-orgmode > > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] Allow storing clock status between emacs sessions. 2008-10-22 9:18 ` Carsten Dominik 2008-10-22 9:25 ` Helge Gudmundsen @ 2008-10-22 9:42 ` James TD Smith 2008-10-22 15:23 ` Carsten Dominik 1 sibling, 1 reply; 17+ messages in thread From: James TD Smith @ 2008-10-22 9:42 UTC (permalink / raw) To: emacs-orgmode Hi Carsten, On 2008-10-22 11:18:59(+0200), Carsten Dominik wrote: > this is a non-trivial patch, and have not yet had the time to look at > it carefully. And I am too close to the next release 6.10, which will > likely be the final version that will make it into Emacs 23, so I do > not feel comfortable to add it now. After 6.10, good chances, yes. > > You can help by stress testing it, so that we can find bugs even > before we install it. I've already noticed a few minor problems, and will be posting a revised version of the patch soon, so keeping it out of 6.10 is probably best. If you want, I will split out the patch into three smaller patches; the changelog corrections, resuming clocking from an open clock line on clocking in, and saving/restoring `org-clock-history' and the running clock. The changelog corrections at least ought to make it into 6.10 :). James -- |-<James TD Smith>-<email/ahktenzero@mohorovi.cc>-| ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] Allow storing clock status between emacs sessions. 2008-10-22 9:42 ` James TD Smith @ 2008-10-22 15:23 ` Carsten Dominik 2008-10-23 10:27 ` [PATCH 0/3] Split my clock resume/clock persistence patch James TD Smith 0 siblings, 1 reply; 17+ messages in thread From: Carsten Dominik @ 2008-10-22 15:23 UTC (permalink / raw) To: James TD Smith; +Cc: emacs-orgmode On Oct 22, 2008, at 11:42 AM, James TD Smith wrote: > Hi Carsten, > > On 2008-10-22 11:18:59(+0200), Carsten Dominik wrote: >> this is a non-trivial patch, and have not yet had the time to look >> at >> it carefully. And I am too close to the next release 6.10, which >> will >> likely be the final version that will make it into Emacs 23, so I do >> not feel comfortable to add it now. After 6.10, good chances, yes. >> >> You can help by stress testing it, so that we can find bugs even >> before we install it. > > I've already noticed a few minor problems, and will be posting a > revised version > of the patch soon, so keeping it out of 6.10 is probably best. > > If you want, I will split out the patch into three smaller patches; > the > changelog corrections, resuming clocking from an open clock line on > clocking in, > and saving/restoring `org-clock-history' and the running clock. The > changelog > corrections at least ought to make it into 6.10 :). Did I mess up the ChangeLog again? Sorry about that, maybe a merge problem. I think git merge does not like the ChangeLog file structure.... Yes, please, this patch separately. - Carsten ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 0/3] Split my clock resume/clock persistence patch 2008-10-22 15:23 ` Carsten Dominik @ 2008-10-23 10:27 ` James TD Smith 2008-10-23 10:27 ` [PATCH 1/3] Fix some typos and duplication in the ChangeLog James TD Smith 0 siblings, 1 reply; 17+ messages in thread From: James TD Smith @ 2008-10-23 10:27 UTC (permalink / raw) To: emacs-orgmode I've split this patch out into three parts, as requested. James TD Smith (3): Fix some typos and duplication in the ChangeLog Add clock resuming. Add clock persistence. lisp/ChangeLog | 46 ++++++++++++++++----- lisp/org-clock.el | 118 +++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 146 insertions(+), 18 deletions(-) mode change 100755 => 100644 lisp/ChangeLog ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 1/3] Fix some typos and duplication in the ChangeLog 2008-10-23 10:27 ` [PATCH 0/3] Split my clock resume/clock persistence patch James TD Smith @ 2008-10-23 10:27 ` James TD Smith 2008-10-23 10:27 ` [PATCH 2/3] Add clock resuming James TD Smith 2008-10-24 4:55 ` [PATCH 1/3] Fix some typos and duplication in the ChangeLog Carsten Dominik 0 siblings, 2 replies; 17+ messages in thread From: James TD Smith @ 2008-10-23 10:27 UTC (permalink / raw) To: emacs-orgmode --- lisp/ChangeLog | 22 +++++++++++----------- 1 files changed, 11 insertions(+), 11 deletions(-) mode change 100755 => 100644 lisp/ChangeLog diff --git a/lisp/ChangeLog b/lisp/ChangeLog old mode 100755 new mode 100644 index 0a65adf..e4ffc88 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -74,7 +74,15 @@ * org.el (org-clock-update-time-maybe): Compute negative clock intervals correctly. -2008-10-15 James TD Smith <ahktenzero@mohorovi.cc> +2008-10-16 Carsten Dominik <dominik@science.uva.nl> + + * org.el (org-add-log-setup): Respect + `org-log-state-notes-insert-after-drawers'. + (org-log-state-notes-insert-after-drawers): New option. + (org-todo-trigger-tag-changes): New function. + (org-todo): Call `org-todo-trigger-tag-changes'. + +2008-10-16 James TD Smith <ahktenzero@mohorovi.cc> * org.el (org-add-log-setup): Only skip drawers if the are immediately after the scheduling keywords. @@ -87,14 +95,6 @@ (org-clock-in): Use org-indent-line-function to indent clock lines. (org-clock-find-position): Fix indentation of empty clock drawers. -2008-10-16 Carsten Dominik <dominik@science.uva.nl> - - * org.el (org-add-log-setup): Respect - `org-log-state-notes-insert-after-drawers'. - (org-log-state-notes-insert-after-drawers): New option. - (org-todo-trigger-tag-changes): New function. - (org-todo): Call `org-todo-trigger-tag-changes'. - 2008-10-15 Carsten Dominik <dominik@science.uva.nl> * org-publish.el (org-publish-org-to): Handle case when @@ -178,7 +178,7 @@ * org-clock.el (org-clock-heading-for-remember): New variable. (org-clock-in): Set `org-clock-heading-for-remember'. -2008-10-01 James TD Smith <ahktenzero@mohorovi.cc> +2008-10-01 James TD Smith <ahktenzero@mohorovi.cc> * org-remember.el (org-remember-apply-template): Add new expansions: %k, %K for currently clocked task and a link to the @@ -287,7 +287,7 @@ * org-export-latex.el (org-export-latex-keywords-maybe): Bug fix. -2008-09-22 James TA Smith <ahktenzero@mohorovi.cc> +2008-09-22 James TD Smith <ahktenzero@mohorovi.cc> * org-plot.el (org-plot/gnuplot): Make tables starting with a hline work correctly. -- 1.5.6.5 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 2/3] Add clock resuming. 2008-10-23 10:27 ` [PATCH 1/3] Fix some typos and duplication in the ChangeLog James TD Smith @ 2008-10-23 10:27 ` James TD Smith 2008-10-23 10:27 ` James TD Smith 2008-10-23 10:28 ` [PATCH 3/3] Add clock persistence James TD Smith 2008-10-24 4:55 ` [PATCH 1/3] Fix some typos and duplication in the ChangeLog Carsten Dominik 1 sibling, 2 replies; 17+ messages in thread From: James TD Smith @ 2008-10-23 10:27 UTC (permalink / raw) To: emacs-orgmode If the option `org-clock-resume' is t, and the first clock line in an entry is is open, clocking into that task resumes the clock from that time. --- lisp/ChangeLog | 8 ++++++++ lisp/org-clock.el | 28 +++++++++++++++++++++------- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e4ffc88..438296d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -3,6 +3,14 @@ * org.el (org-insert-todo-heading): Fix bug with force-heading argument. +2008-10-23 James TD Smith <ahktenzero@mohorovi.cc> + + * org-clock.el (org-clock-in-resume): Add a custom option to + toggle starting the clock from an open clock line. + (org-clock-in): When clocking in to an entry, if + `org-clock-in-resume' is set, check if the first clock line is + open and if so, start the clock from the time in the clock line. + 2008-10-22 Carsten Dominik <dominik@science.uva.nl> * org-exp.el (org-export-as-ascii): Handle the case that we are diff --git a/lisp/org-clock.el b/lisp/org-clock.el index da86b0d..40272d4 100644 --- a/lisp/org-clock.el +++ b/lisp/org-clock.el @@ -95,6 +95,12 @@ The function is called with point at the beginning of the headline." :group 'org-clock :type 'integer) +(defcustom org-clock-in-resume nil + "If non-nil, when clocking into a task with a clock entry which +has not been closed, resume the clock from that point" + :group 'org-clock + :type 'boolean) + ;;; The clock for measuring work time. (defvar org-mode-line-string "") @@ -291,12 +297,21 @@ the clocking selection, associated with the letter `d'." (t "???"))) (setq org-clock-heading (org-propertize org-clock-heading 'face nil)) (org-clock-find-position) - - (insert "\n") (backward-char 1) - (org-indent-line-function) - (insert org-clock-string " ") - (setq org-clock-start-time (current-time)) - (setq ts (org-insert-time-stamp (current-time) 'with-hm 'inactive)) + (if (and org-clock-in-resume + (looking-at (concat "^[ \\t]* " org-clock-string + " \\[\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}" + " +\\sw+ +[012][0-9]:[0-5][0-9]\\)\\]$"))) + (progn (message "Matched %s" (match-string 1)) + (setq ts (concat "[" (match-string 1) "]")) + (goto-char (match-end 1)) + (setq org-clock-start-time + (apply 'encode-time (org-parse-time-string (match-string 1))))) + (progn + (insert "\n") (backward-char 1) + (org-indent-line-function) + (insert org-clock-string " ") + (setq org-clock-start-time (current-time)) + (setq ts (org-insert-time-stamp org-clock-start-time 'with-hm 'inactive)))) (move-marker org-clock-marker (point) (buffer-base-buffer)) (or global-mode-string (setq global-mode-string '(""))) (or (memq 'org-mode-line-string global-mode-string) @@ -962,7 +977,6 @@ the currently selected interval size." (re-search-forward "#\\+END:") (end-of-line 0)))) - (defun org-clocktable-add-file (file table) (if table (let ((lines (org-split-string table "\n")) -- 1.5.6.5 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 2/3] Add clock resuming. 2008-10-23 10:27 ` [PATCH 2/3] Add clock resuming James TD Smith @ 2008-10-23 10:27 ` James TD Smith 2008-10-23 10:28 ` [PATCH 3/3] Add clock persistence James TD Smith 1 sibling, 0 replies; 17+ messages in thread From: James TD Smith @ 2008-10-23 10:27 UTC (permalink / raw) To: emacs-orgmode If the option `org-clock-resume' is t, and the first clock line in an entry is is open, clocking into that task resumes the clock from that time. --- lisp/ChangeLog | 8 ++++++++ lisp/org-clock.el | 28 +++++++++++++++++++++------- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e4ffc88..438296d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -3,6 +3,14 @@ * org.el (org-insert-todo-heading): Fix bug with force-heading argument. +2008-10-23 James TD Smith <ahktenzero@mohorovi.cc> + + * org-clock.el (org-clock-in-resume): Add a custom option to + toggle starting the clock from an open clock line. + (org-clock-in): When clocking in to an entry, if + `org-clock-in-resume' is set, check if the first clock line is + open and if so, start the clock from the time in the clock line. + 2008-10-22 Carsten Dominik <dominik@science.uva.nl> * org-exp.el (org-export-as-ascii): Handle the case that we are diff --git a/lisp/org-clock.el b/lisp/org-clock.el index da86b0d..40272d4 100644 --- a/lisp/org-clock.el +++ b/lisp/org-clock.el @@ -95,6 +95,12 @@ The function is called with point at the beginning of the headline." :group 'org-clock :type 'integer) +(defcustom org-clock-in-resume nil + "If non-nil, when clocking into a task with a clock entry which +has not been closed, resume the clock from that point" + :group 'org-clock + :type 'boolean) + ;;; The clock for measuring work time. (defvar org-mode-line-string "") @@ -291,12 +297,21 @@ the clocking selection, associated with the letter `d'." (t "???"))) (setq org-clock-heading (org-propertize org-clock-heading 'face nil)) (org-clock-find-position) - - (insert "\n") (backward-char 1) - (org-indent-line-function) - (insert org-clock-string " ") - (setq org-clock-start-time (current-time)) - (setq ts (org-insert-time-stamp (current-time) 'with-hm 'inactive)) + (if (and org-clock-in-resume + (looking-at (concat "^[ \\t]* " org-clock-string + " \\[\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}" + " +\\sw+ +[012][0-9]:[0-5][0-9]\\)\\]$"))) + (progn (message "Matched %s" (match-string 1)) + (setq ts (concat "[" (match-string 1) "]")) + (goto-char (match-end 1)) + (setq org-clock-start-time + (apply 'encode-time (org-parse-time-string (match-string 1))))) + (progn + (insert "\n") (backward-char 1) + (org-indent-line-function) + (insert org-clock-string " ") + (setq org-clock-start-time (current-time)) + (setq ts (org-insert-time-stamp org-clock-start-time 'with-hm 'inactive)))) (move-marker org-clock-marker (point) (buffer-base-buffer)) (or global-mode-string (setq global-mode-string '(""))) (or (memq 'org-mode-line-string global-mode-string) @@ -962,7 +977,6 @@ the currently selected interval size." (re-search-forward "#\\+END:") (end-of-line 0)))) - (defun org-clocktable-add-file (file table) (if table (let ((lines (org-split-string table "\n")) -- 1.5.6.5 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 3/3] Add clock persistence. 2008-10-23 10:27 ` [PATCH 2/3] Add clock resuming James TD Smith 2008-10-23 10:27 ` James TD Smith @ 2008-10-23 10:28 ` James TD Smith 2008-10-28 7:33 ` Carsten Dominik 1 sibling, 1 reply; 17+ messages in thread From: James TD Smith @ 2008-10-23 10:28 UTC (permalink / raw) To: emacs-orgmode Clock-related data are saved when exiting emacs ands restored when emacs is restarted. The data saved include the contents of `org-clock-history', and the running clock, if there is one. To use this, you will need to add (require 'org-clock) (org-clock-persistence-insinuate) to your .emacs and either add (setq org-clock-persist t) (setq org-clock-in-resume t) or set those options to t in custom. This patch requires the clock resume patch. --- lisp/ChangeLog | 16 +++++++++ lisp/org-clock.el | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+), 0 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 438296d..063ae15 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -10,6 +10,22 @@ (org-clock-in): When clocking in to an entry, if `org-clock-in-resume' is set, check if the first clock line is open and if so, start the clock from the time in the clock line. + (org-clock-persist): Add a custom option to toggle clock + persistence. + (org-clock-persist-query-save): Add a custom option to toggle + asking the user if they want to save the running clock when + exiting. + (org-clock-persist-query-resume): Add a custom option to toggle + asking the user if they want to resume the saved clock when Emacs + is restarted. + (org-clock-save): Add a function to save clock data. + This includes the contents of `org-clock-history' and the buffer + and position of the currently clocked task, if any. + (org-clock-load): Add a function to load clock data. + This populates `org-clock-history', and resumes the saved clocked + task if there is one. + (org-clock-persistence-insinuate): Add a method to set up the + hooks for clock persistence. 2008-10-22 Carsten Dominik <dominik@science.uva.nl> diff --git a/lisp/org-clock.el b/lisp/org-clock.el index 40272d4..90b2992 100644 --- a/lisp/org-clock.el +++ b/lisp/org-clock.el @@ -101,6 +101,28 @@ has not been closed, resume the clock from that point" :group 'org-clock :type 'boolean) +(defcustom org-clock-persist nil + "When non-nil, save the running clock when emacs is closed, and + resume it next time emacs is started." + :group 'org-clock + :type 'boolean) + +(defcustom org-clock-persist-file "~/.emacs.d/org-clock-save.el" + "File to save clock data to" + :group 'org-clock + :type 'string) + +(defcustom org-clock-persist-query-save nil + "When non-nil, ask before saving the current clock on exit" + :group 'org-clock + :type 'boolean) + +(defcustom org-clock-persist-query-resume t + "When non-nil, ask before resuming any stored clock during +load." + :group 'org-clock + :type 'boolean) + ;;; The clock for measuring work time. (defvar org-mode-line-string "") @@ -989,6 +1011,74 @@ the currently selected interval size." lines) "\n")))) +(defun org-clock-save () + "Persist various clock-related data to disk" + (with-current-buffer (find-file (expand-file-name org-clock-persist-file)) + (progn (delete-region (point-min) (point-max)) + ;;Store clock + (insert (format ";; org-persist.el - %s at %s\n" system-name (time-stamp-string))) + (if (and org-clock-persist (marker-buffer org-clock-marker) + (or (not org-clock-persist-query-save) + (y-or-n-p (concat "Save current clock (" + (substring-no-properties org-clock-heading) + ")")))) + (insert "(setq resume-clock '(\"" + (buffer-file-name (marker-buffer org-clock-marker)) + "\" . " (int-to-string (marker-position org-clock-marker)) + "))\n")) + ;;Store clocked task history. Tasks are stored reversed to make + ;;reading simpler + (if org-clock-history + (insert "(setq stored-clock-history '(" + (mapconcat + (lambda (m) + (when (marker-buffer m) + (concat "(\"" (buffer-file-name (marker-buffer m)) + "\" . " (int-to-string (marker-position m)) + ")"))) + (reverse org-clock-history) " ") "))\n")) + (save-buffer) + (kill-buffer (current-buffer))))) + +(defvar org-clock-loaded nil) + +(defun org-clock-load () + "Load various clock-related data from disk, optionally resuming +a stored clock" + (if (not org-clock-loaded) + (let ((filename (expand-file-name org-clock-persist-file)) + (org-clock-in-resume t)) + (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) + (org-clock-history-push (cdr task) + (find-file (car task)))) + stored-clock-history))) + ;; resume clock + (if (and (boundp 'resume-clock) org-clock-persist + (or (not org-clock-persist-query-resume) + (y-or-n-p "Resume clock (" + (with-current-buffer (find-file (car resume-clock)) + (progn (goto-char (cdr resume-clock)) + (looking-at org-complex-heading-regexp) + (match-string 4))) ")"))) + (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))))) + +(defun org-clock-persistence-insinuate () + "Set up hooks for clock persistence" + (add-hook 'org-mode-hook 'org-clock-load) + (add-hook 'kill-emacs-hook 'org-clock-save)) + (provide 'org-clock) ;; arch-tag: 7b42c5d4-9b36-48be-97c0-66a869daed4c -- 1.5.6.5 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH 3/3] Add clock persistence. 2008-10-23 10:28 ` [PATCH 3/3] Add clock persistence James TD Smith @ 2008-10-28 7:33 ` Carsten Dominik 2008-10-28 11:10 ` Helge Gudmundsen 0 siblings, 1 reply; 17+ messages in thread From: Carsten Dominik @ 2008-10-28 7:33 UTC (permalink / raw) To: James TD Smith; +Cc: emacs-orgmode [-- Attachment #1.1: Type: text/plain, Size: 6360 bytes --] Hi, I have now applied these patches and put some initial documentation into http://orgmode.org/Changes.html. Since I have not yet tested this myself, I would he glad if some of you clocking people could test it and report. Thanks. - Carsten On Oct 23, 2008, at 12:28 PM, James TD Smith wrote: > Clock-related data are saved when exiting emacs ands restored when > emacs > is restarted. The data saved include the contents of `org-clock- > history', > and the running clock, if there is one. > > To use this, you will need to add > > (require 'org-clock) > (org-clock-persistence-insinuate) > > to your .emacs and either add > > (setq org-clock-persist t) > (setq org-clock-in-resume t) > > or set those options to t in custom. > > This patch requires the clock resume patch. > --- > lisp/ChangeLog | 16 +++++++++ > lisp/org-clock.el | 90 ++++++++++++++++++++++++++++++++++++++++++++ > +++++++++ > 2 files changed, 106 insertions(+), 0 deletions(-) > > diff --git a/lisp/ChangeLog b/lisp/ChangeLog > index 438296d..063ae15 100644 > --- a/lisp/ChangeLog > +++ b/lisp/ChangeLog > @@ -10,6 +10,22 @@ > (org-clock-in): When clocking in to an entry, if > `org-clock-in-resume' is set, check if the first clock line is > open and if so, start the clock from the time in the clock line. > + (org-clock-persist): Add a custom option to toggle clock > + persistence. > + (org-clock-persist-query-save): Add a custom option to toggle > + asking the user if they want to save the running clock when > + exiting. > + (org-clock-persist-query-resume): Add a custom option to toggle > + asking the user if they want to resume the saved clock when Emacs > + is restarted. > + (org-clock-save): Add a function to save clock data. > + This includes the contents of `org-clock-history' and the buffer > + and position of the currently clocked task, if any. > + (org-clock-load): Add a function to load clock data. > + This populates `org-clock-history', and resumes the saved clocked > + task if there is one. > + (org-clock-persistence-insinuate): Add a method to set up the > + hooks for clock persistence. > > 2008-10-22 Carsten Dominik <dominik@science.uva.nl> > > diff --git a/lisp/org-clock.el b/lisp/org-clock.el > index 40272d4..90b2992 100644 > --- a/lisp/org-clock.el > +++ b/lisp/org-clock.el > @@ -101,6 +101,28 @@ has not been closed, resume the clock from that > point" > :group 'org-clock > :type 'boolean) > > +(defcustom org-clock-persist nil > + "When non-nil, save the running clock when emacs is closed, and > + resume it next time emacs is started." > + :group 'org-clock > + :type 'boolean) > + > +(defcustom org-clock-persist-file "~/.emacs.d/org-clock-save.el" > + "File to save clock data to" > + :group 'org-clock > + :type 'string) > + > +(defcustom org-clock-persist-query-save nil > + "When non-nil, ask before saving the current clock on exit" > + :group 'org-clock > + :type 'boolean) > + > +(defcustom org-clock-persist-query-resume t > + "When non-nil, ask before resuming any stored clock during > +load." > + :group 'org-clock > + :type 'boolean) > + > ;;; The clock for measuring work time. > > (defvar org-mode-line-string "") > @@ -989,6 +1011,74 @@ the currently selected interval size." > lines) > "\n")))) > > +(defun org-clock-save () > + "Persist various clock-related data to disk" > + (with-current-buffer (find-file (expand-file-name org-clock- > persist-file)) > + (progn (delete-region (point-min) (point-max)) > + ;;Store clock > + (insert (format ";; org-persist.el - %s at %s\n" system-name > (time-stamp-string))) > + (if (and org-clock-persist (marker-buffer org-clock-marker) > + (or (not org-clock-persist-query-save) > + (y-or-n-p (concat "Save current clock (" > + (substring-no-properties org-clock-heading) > + ")")))) > + (insert "(setq resume-clock '(\"" > + (buffer-file-name (marker-buffer org-clock-marker)) > + "\" . " (int-to-string (marker-position org-clock-marker)) > + "))\n")) > + ;;Store clocked task history. Tasks are stored reversed to make > + ;;reading simpler > + (if org-clock-history > + (insert "(setq stored-clock-history '(" > + (mapconcat > + (lambda (m) > + (when (marker-buffer m) > + (concat "(\"" (buffer-file-name (marker-buffer m)) > + "\" . " (int-to-string (marker-position m)) > + ")"))) > + (reverse org-clock-history) " ") "))\n")) > + (save-buffer) > + (kill-buffer (current-buffer))))) > + > +(defvar org-clock-loaded nil) > + > +(defun org-clock-load () > + "Load various clock-related data from disk, optionally resuming > +a stored clock" > + (if (not org-clock-loaded) > + (let ((filename (expand-file-name org-clock-persist-file)) > + (org-clock-in-resume t)) > + (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) > + (org-clock-history-push (cdr task) > + (find-file (car task)))) > + stored-clock-history))) > + ;; resume clock > + (if (and (boundp 'resume-clock) org-clock-persist > + (or (not org-clock-persist-query-resume) > + (y-or-n-p "Resume clock (" > + (with-current-buffer (find-file (car resume-clock)) > + (progn (goto-char (cdr resume-clock)) > + (looking-at org-complex-heading-regexp) > + (match-string 4))) ")"))) > + (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))))) > + > +(defun org-clock-persistence-insinuate () > + "Set up hooks for clock persistence" > + (add-hook 'org-mode-hook 'org-clock-load) > + (add-hook 'kill-emacs-hook 'org-clock-save)) > + > (provide 'org-clock) > > ;; arch-tag: 7b42c5d4-9b36-48be-97c0-66a869daed4c > -- > 1.5.6.5 > > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode [-- Attachment #1.2: Type: text/html, Size: 16157 bytes --] [-- Attachment #2: Type: text/plain, Size: 204 bytes --] _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 3/3] Add clock persistence. 2008-10-28 7:33 ` Carsten Dominik @ 2008-10-28 11:10 ` Helge Gudmundsen 0 siblings, 0 replies; 17+ messages in thread From: Helge Gudmundsen @ 2008-10-28 11:10 UTC (permalink / raw) To: emacs-orgmode For my (admittedly simple) test cases, so far it looks good. Thanks. -- helge On Tue, Oct 28, 2008 at 7:33 AM, Carsten Dominik <dominik@uva.nl> wrote: > Hi, > I have now applied these patches and put some initial documentation into > http://orgmode.org/Changes.html. > Since I have not yet tested this myself, I would he glad if some of you > clocking people could test it and report. > Thanks. > - Carsten > On Oct 23, 2008, at 12:28 PM, James TD Smith wrote: > > Clock-related data are saved when exiting emacs ands restored when emacs > is restarted. The data saved include the contents of `org-clock-history', > and the running clock, if there is one. > > To use this, you will need to add > > (require 'org-clock) > (org-clock-persistence-insinuate) > > to your .emacs and either add > > (setq org-clock-persist t) > (setq org-clock-in-resume t) > > or set those options to t in custom. > > This patch requires the clock resume patch. > --- > lisp/ChangeLog | 16 +++++++++ > lisp/org-clock.el | 90 > +++++++++++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 106 insertions(+), 0 deletions(-) > > diff --git a/lisp/ChangeLog b/lisp/ChangeLog > index 438296d..063ae15 100644 > --- a/lisp/ChangeLog > +++ b/lisp/ChangeLog > @@ -10,6 +10,22 @@ > (org-clock-in): When clocking in to an entry, if > `org-clock-in-resume' is set, check if the first clock line is > open and if so, start the clock from the time in the clock line. > + (org-clock-persist): Add a custom option to toggle clock > + persistence. > + (org-clock-persist-query-save): Add a custom option to toggle > + asking the user if they want to save the running clock when > + exiting. > + (org-clock-persist-query-resume): Add a custom option to toggle > + asking the user if they want to resume the saved clock when Emacs > + is restarted. > + (org-clock-save): Add a function to save clock data. > + This includes the contents of `org-clock-history' and the buffer > + and position of the currently clocked task, if any. > + (org-clock-load): Add a function to load clock data. > + This populates `org-clock-history', and resumes the saved clocked > + task if there is one. > + (org-clock-persistence-insinuate): Add a method to set up the > + hooks for clock persistence. > > 2008-10-22 Carsten Dominik <dominik@science.uva.nl> > > diff --git a/lisp/org-clock.el b/lisp/org-clock.el > index 40272d4..90b2992 100644 > --- a/lisp/org-clock.el > +++ b/lisp/org-clock.el > @@ -101,6 +101,28 @@ has not been closed, resume the clock from that point" > :group 'org-clock > :type 'boolean) > > +(defcustom org-clock-persist nil > + "When non-nil, save the running clock when emacs is closed, and > + resume it next time emacs is started." > + :group 'org-clock > + :type 'boolean) > + > +(defcustom org-clock-persist-file "~/.emacs.d/org-clock-save.el" > + "File to save clock data to" > + :group 'org-clock > + :type 'string) > + > +(defcustom org-clock-persist-query-save nil > + "When non-nil, ask before saving the current clock on exit" > + :group 'org-clock > + :type 'boolean) > + > +(defcustom org-clock-persist-query-resume t > + "When non-nil, ask before resuming any stored clock during > +load." > + :group 'org-clock > + :type 'boolean) > + > ;;; The clock for measuring work time. > > (defvar org-mode-line-string "") > @@ -989,6 +1011,74 @@ the currently selected interval size." > lines) > "\n")))) > > +(defun org-clock-save () > + "Persist various clock-related data to disk" > + (with-current-buffer (find-file (expand-file-name > org-clock-persist-file)) > + (progn (delete-region (point-min) (point-max)) > + ;;Store clock > + (insert (format ";; org-persist.el - %s at %s\n" system-name > (time-stamp-string))) > + (if (and org-clock-persist (marker-buffer org-clock-marker) > + (or (not org-clock-persist-query-save) > + (y-or-n-p (concat "Save current clock (" > + (substring-no-properties org-clock-heading) > + ")")))) > + (insert "(setq resume-clock '(\"" > + (buffer-file-name (marker-buffer org-clock-marker)) > + "\" . " (int-to-string (marker-position org-clock-marker)) > + "))\n")) > + ;;Store clocked task history. Tasks are stored reversed to make > + ;;reading simpler > + (if org-clock-history > + (insert "(setq stored-clock-history '(" > + (mapconcat > + (lambda (m) > + (when (marker-buffer m) > + (concat "(\"" (buffer-file-name (marker-buffer m)) > + "\" . " (int-to-string (marker-position m)) > + ")"))) > + (reverse org-clock-history) " ") "))\n")) > + (save-buffer) > + (kill-buffer (current-buffer))))) > + > +(defvar org-clock-loaded nil) > + > +(defun org-clock-load () > + "Load various clock-related data from disk, optionally resuming > +a stored clock" > + (if (not org-clock-loaded) > + (let ((filename (expand-file-name org-clock-persist-file)) > + (org-clock-in-resume t)) > + (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) > + (org-clock-history-push (cdr task) > + (find-file (car task)))) > + stored-clock-history))) > + ;; resume clock > + (if (and (boundp 'resume-clock) org-clock-persist > + (or (not org-clock-persist-query-resume) > + (y-or-n-p "Resume clock (" > + (with-current-buffer (find-file (car resume-clock)) > + (progn (goto-char (cdr resume-clock)) > + (looking-at org-complex-heading-regexp) > + (match-string 4))) ")"))) > + (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))))) > + > +(defun org-clock-persistence-insinuate () > + "Set up hooks for clock persistence" > + (add-hook 'org-mode-hook 'org-clock-load) > + (add-hook 'kill-emacs-hook 'org-clock-save)) > + > (provide 'org-clock) > > ;; arch-tag: 7b42c5d4-9b36-48be-97c0-66a869daed4c > -- > 1.5.6.5 > > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 1/3] Fix some typos and duplication in the ChangeLog 2008-10-23 10:27 ` [PATCH 1/3] Fix some typos and duplication in the ChangeLog James TD Smith 2008-10-23 10:27 ` [PATCH 2/3] Add clock resuming James TD Smith @ 2008-10-24 4:55 ` Carsten Dominik 1 sibling, 0 replies; 17+ messages in thread From: Carsten Dominik @ 2008-10-24 4:55 UTC (permalink / raw) To: James TD Smith; +Cc: emacs-orgmode applied, thanks. - Carsten On Oct 23, 2008, at 12:27 PM, James TD Smith wrote: > --- > lisp/ChangeLog | 22 +++++++++++----------- > 1 files changed, 11 insertions(+), 11 deletions(-) > mode change 100755 => 100644 lisp/ChangeLog > > diff --git a/lisp/ChangeLog b/lisp/ChangeLog > old mode 100755 > new mode 100644 > index 0a65adf..e4ffc88 > --- a/lisp/ChangeLog > +++ b/lisp/ChangeLog > @@ -74,7 +74,15 @@ > * org.el (org-clock-update-time-maybe): Compute negative clock > intervals correctly. > > -2008-10-15 James TD Smith <ahktenzero@mohorovi.cc> > +2008-10-16 Carsten Dominik <dominik@science.uva.nl> > + > + * org.el (org-add-log-setup): Respect > + `org-log-state-notes-insert-after-drawers'. > + (org-log-state-notes-insert-after-drawers): New option. > + (org-todo-trigger-tag-changes): New function. > + (org-todo): Call `org-todo-trigger-tag-changes'. > + > +2008-10-16 James TD Smith <ahktenzero@mohorovi.cc> > > * org.el (org-add-log-setup): Only skip drawers if the are > immediately after the scheduling keywords. > @@ -87,14 +95,6 @@ > (org-clock-in): Use org-indent-line-function to indent clock lines. > (org-clock-find-position): Fix indentation of empty clock drawers. > > -2008-10-16 Carsten Dominik <dominik@science.uva.nl> > - > - * org.el (org-add-log-setup): Respect > - `org-log-state-notes-insert-after-drawers'. > - (org-log-state-notes-insert-after-drawers): New option. > - (org-todo-trigger-tag-changes): New function. > - (org-todo): Call `org-todo-trigger-tag-changes'. > - > 2008-10-15 Carsten Dominik <dominik@science.uva.nl> > > * org-publish.el (org-publish-org-to): Handle case when > @@ -178,7 +178,7 @@ > * org-clock.el (org-clock-heading-for-remember): New variable. > (org-clock-in): Set `org-clock-heading-for-remember'. > > -2008-10-01 James TD Smith <ahktenzero@mohorovi.cc> > +2008-10-01 James TD Smith <ahktenzero@mohorovi.cc> > > * org-remember.el (org-remember-apply-template): Add new > expansions: %k, %K for currently clocked task and a link to the > @@ -287,7 +287,7 @@ > > * org-export-latex.el (org-export-latex-keywords-maybe): Bug fix. > > -2008-09-22 James TA Smith <ahktenzero@mohorovi.cc> > +2008-09-22 James TD Smith <ahktenzero@mohorovi.cc> > > * org-plot.el (org-plot/gnuplot): Make tables starting with a > hline work correctly. > -- > 1.5.6.5 > > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH] Bugfix in org-add-log-setup. 2008-10-19 16:22 [PATCH] Bugfix in org-add-log-setup James TD Smith 2008-10-19 16:22 ` [PATCH] Allow storing clock status between emacs sessions James TD Smith @ 2008-10-20 5:46 ` Carsten Dominik 1 sibling, 0 replies; 17+ messages in thread From: Carsten Dominik @ 2008-10-20 5:46 UTC (permalink / raw) To: James TD Smith; +Cc: emacs-orgmode Applied, thanks. - Carsten On Oct 19, 2008, at 6:22 PM, James TD Smith wrote: > --- > lisp/ChangeLog | 6 ++++++ > lisp/org.el | 3 ++- > 2 files changed, 8 insertions(+), 1 deletions(-) > > diff --git a/lisp/ChangeLog b/lisp/ChangeLog > index 35ce9c3..ad7c9fe 100755 > --- a/lisp/ChangeLog > +++ b/lisp/ChangeLog > @@ -1,3 +1,9 @@ > +2008-10-19 James TD Smith <ahktenzero@mohorovi.cc> > + > + * org.el (org-add-log-setup): Bugfix; code to find insertion point > + after drawers was skipping ahead one line too many, so notes were > + inserted after the first note instead of before it. > + > 2008-10-18 Carsten Dominik <dominik@science.uva.nl> > > * org-table.el (orgtbl-to-html): Bind `html-table-tag' for the > diff --git a/lisp/org.el b/lisp/org.el > index 9c08ba4..85f138d 100644 > --- a/lisp/org.el > +++ b/lisp/org.el > @@ -8407,7 +8407,8 @@ EXTRA is additional text that will be inserted > into the notes buffer." > (while (looking-at org-drawer-regexp) > (goto-char (match-end 0)) > (re-search-forward org-property-end-re (point-max) t) > - (forward-line)))) > + (forward-line)) > + (forward-line -1))) > (unless org-log-states-order-reversed > (and (= (char-after) ?\n) (forward-char 1)) > (org-skip-over-state-notes) > -- > 1.5.6.5 > > > > _______________________________________________ > Emacs-orgmode mailing list > Remember: use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2008-10-28 11:11 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-10-19 16:22 [PATCH] Bugfix in org-add-log-setup James TD Smith 2008-10-19 16:22 ` [PATCH] Allow storing clock status between emacs sessions James TD Smith 2008-10-20 15:42 ` Helge Gudmundsen 2008-10-22 8:45 ` Helge Gudmundsen 2008-10-22 9:18 ` Carsten Dominik 2008-10-22 9:25 ` Helge Gudmundsen 2008-10-22 9:42 ` James TD Smith 2008-10-22 15:23 ` Carsten Dominik 2008-10-23 10:27 ` [PATCH 0/3] Split my clock resume/clock persistence patch James TD Smith 2008-10-23 10:27 ` [PATCH 1/3] Fix some typos and duplication in the ChangeLog James TD Smith 2008-10-23 10:27 ` [PATCH 2/3] Add clock resuming James TD Smith 2008-10-23 10:27 ` James TD Smith 2008-10-23 10:28 ` [PATCH 3/3] Add clock persistence James TD Smith 2008-10-28 7:33 ` Carsten Dominik 2008-10-28 11:10 ` Helge Gudmundsen 2008-10-24 4:55 ` [PATCH 1/3] Fix some typos and duplication in the ChangeLog Carsten Dominik 2008-10-20 5:46 ` [PATCH] Bugfix in org-add-log-setup Carsten Dominik
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).