emacs-elpa-diffs
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]