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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/org 5c8e735 1/2: lisp/org-list.el: Fix bug wrt updating


From: ELPA Syncer
Subject: [elpa] externals/org 5c8e735 1/2: lisp/org-list.el: Fix bug wrt updating statistics
Date: Sat, 15 May 2021 16:57:10 -0400 (EDT)

branch: externals/org
commit 5c8e735af458add0f5066a0367b7b655470f9c2c
Author: Bastien <bzg@gnu.org>
Commit: Bastien <bzg@gnu.org>

    lisp/org-list.el: Fix bug wrt updating statistics
    
    * lisp/org-list.el (org-update-checkbox-count): Don't update
    statistics when toggling a checkbox witin a heading that has
    COOKIE_DATA set to "todo".
    
    Reported-by: Michael Brand <michael.ch.brand@gmail.com>
    Link: 
https://orgmode.org/list/CALn3zohYfoyDm6w-AYWsVRSbOCndBPZQyb+YvHcaEby3JEhWMw@mail.gmail.com
---
 lisp/org-list.el | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lisp/org-list.el b/lisp/org-list.el
index 55eb478..d2ce129 100644
--- a/lisp/org-list.el
+++ b/lisp/org-list.el
@@ -2476,10 +2476,10 @@ With optional prefix argument ALL, do this for the 
whole buffer."
    (let* ((cookie-re "\\(\\(\\[[0-9]*%\\]\\)\\|\\(\\[[0-9]*/[0-9]*\\]\\)\\)")
          (box-re "^[ \t]*\\([-+*]\\|\\([0-9]+\\|[A-Za-z]\\)[.)]\\)[ \t]+\
 \\(?:\\[@\\(?:start:\\)?\\([0-9]+\\|[A-Za-z]\\)\\][ \t]*\\)?\\(\\[[- X]\\]\\)")
+          (cookie-data (or (org-entry-get nil "COOKIE_DATA") ""))
          (recursivep
           (or (not org-checkbox-hierarchical-statistics)
-              (string-match "\\<recursive\\>"
-                            (or (org-entry-get nil "COOKIE_DATA") ""))))
+              (string-match-p "\\<recursive\\>" cookie-data)))
          (within-inlinetask (and (not all)
                                  (featurep 'org-inlinetask)
                                  (org-inlinetask-in-task-p)))
@@ -2525,7 +2525,8 @@ With optional prefix argument ALL, do this for the whole 
buffer."
      (while (re-search-forward cookie-re end t)
        (let ((context (save-excursion (backward-char)
                                      (save-match-data (org-element-context)))))
-        (when (eq (org-element-type context) 'statistics-cookie)
+        (when (and (eq (org-element-type context) 'statistics-cookie)
+                    (not (string-match-p "\\<todo\\>" cookie-data)))
           (push
            (append
             (list (match-beginning 1) (match-end 1) (match-end 2))



reply via email to

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