emacs-orgmode
[Top][All Lists]
Advanced

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

Re: bizarre: checkbox in properties, counting does not work with subhead


From: Ihor Radchenko
Subject: Re: bizarre: checkbox in properties, counting does not work with subheadings
Date: Mon, 29 Jan 2024 15:13:10 +0000

Uwe Brauer <oub@mat.ucm.es> writes:

> * Everything [3/4]
> ...
> *** DONE Books
> ...
> ** DONE Car
> ...
> ** DONE Food
> ...
> *** WAIT  Computer
> ...
> ... The expected behavior should be 
>
> #+BEGIN: columnview :maxlevel 2 :skip-empty-rows t :hlines 1 :indent nil  
> :format "%5TODO(Status) %5Nr(Nr) %5Comp1(Comp1){X/} %5Comp2(Comp2){X/}"
> | Status | Nr | Comp1 | Comp2 |
> |--------+----+-------+-------|
> |        |    | [1/2] | [2/2] |
> | DONE   |  2 | [X]   | [X]   |
> | DONE   |  3 | [ ]   | [X]   |
> #+END:

I am not sure if it is expected.

Why doesn't "DONE Books" contribute to the summary? It is also under
"Everything" headline and has a checkbox.

With the attached patch, the result would be the following:

#+BEGIN: columnview :maxlevel 2 :skip-empty-rows t :hlines 1 :indent nil  
:format "%5TODO(Status) %5Nr(Nr)%5Comp1(Comp1){X/} %5Comp2(Comp2){X/}"
| Status | Nr | Comp1 | Comp2 |
|--------+----+-------+-------|
|        |    | [3/3] | [2/3] |
| DONE   |  2 | [X]   | [X]   |
| DONE   |  3 | [1/1] | [0/1] |
#+END:

>From a4927f9ea530db180efdaea6bb01511c03bb1051 Mon Sep 17 00:00:00 2001
Message-ID: 
<a4927f9ea530db180efdaea6bb01511c03bb1051.1706541069.git.yantar92@posteo.net>
From: Ihor Radchenko <yantar92@posteo.net>
Date: Mon, 29 Jan 2024 16:09:29 +0100
Subject: [PATCH] lisp/org-colview.el: Fix computing summary with low-level
 first child

* lisp/org-colview.el (org-columns--compute-spec): Do not assume that
all the children of an entry have the same LAST-LEVEL.  Handle
situation when the first child has lower level:

* Heading
****** Child 1
** Child 2
** Child 3

Reported-by: Uwe Brauer <oub@mat.ucm.es>
Link: https://orgmode.org/list/87wn8yj2i5.fsf@localhost
---
 lisp/org-colview.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lisp/org-colview.el b/lisp/org-colview.el
index b1b79257b..39ca01502 100644
--- a/lisp/org-colview.el
+++ b/lisp/org-colview.el
@@ -1244,9 +1244,9 @@ (defun org-columns--compute-spec (spec &optional update)
           ;; property `org-summaries', in alist whose key is SPEC.
           (let* ((summary
                   (and summarize
-                       (let ((values (append (and (/= last-level inminlevel)
-                                                  (aref lvals last-level))
-                                             (aref lvals inminlevel))))
+                       (let ((values
+                               (cl-loop for l from (1+ level) to lmax
+                                        append (aref lvals l))))
                          (and values (funcall summarize values printf))))))
             ;; Leaf values are not summaries: do not mark them.
             (when summary
-- 
2.43.0

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>

reply via email to

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