[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org 224708323e 1/2: org-clock: Do not assume that clock
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org 224708323e 1/2: org-clock: Do not assume that clock is always inside capture buffer |
Date: |
Thu, 6 Oct 2022 04:57:56 -0400 (EDT) |
branch: externals/org
commit 224708323e0f5682eb3894d58032a593a1a05214
Author: Ihor Radchenko <yantar92@gmail.com>
Commit: Ihor Radchenko <yantar92@gmail.com>
org-clock: Do not assume that clock is always inside capture buffer
* lisp/org-capture.el (org-capture): Store the clock marker in
`org-capture-clock-was-started'.
(org-capture-clock-was-started): Document that the variable holds
clock marker.
(org-capture-finalize): Check the stored value of the clock marker
when deciding if the currently running clock has been started by
capture.
Reported-by: Bernt Hansen <bernt@norang.ca>
Link: https://orgmode.org/list/878rza7c0w.fsf@localhost
---
lisp/org-capture.el | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/lisp/org-capture.el b/lisp/org-capture.el
index 4ef5fea95c..cc6e2bd92d 100644
--- a/lisp/org-capture.el
+++ b/lisp/org-capture.el
@@ -86,7 +86,7 @@
(defvar org-table-hlines)
(defvar org-capture-clock-was-started nil
- "Internal flag, noting if the clock was started.")
+ "Internal flag, keeping marker to the started clock.")
(defvar org-capture-last-stored-marker (make-marker)
"Marker pointing to the entry most recently stored with `org-capture'.")
@@ -719,7 +719,8 @@ of the day at point (if any) or the current HH:MM time."
(org-capture-put :interrupted-clock
(copy-marker org-clock-marker)))
(org-clock-in)
- (setq-local org-capture-clock-was-started t))
+ (setq-local org-capture-clock-was-started
+ (copy-marker org-clock-marker)))
(error "Could not start the clock in this capture buffer")))
(when (org-capture-get :immediate-finish)
(org-capture-finalize))))))))
@@ -760,10 +761,7 @@ captured item after finalizing."
;; Did we start the clock in this capture buffer?
(when (and org-capture-clock-was-started
- org-clock-marker
- (eq (marker-buffer org-clock-marker) (buffer-base-buffer))
- (>= org-clock-marker (point-min))
- (< org-clock-marker (point-max)))
+ (equal org-clock-marker org-capture-clock-was-started))
;; Looks like the clock we started is still running.
(if org-capture-clock-keep
;; User may have completed clocked heading from the template.