This is the fixed patch, it actually works on my real life org files so this has a slight chance of being right.
> ------------------------------------------------------------------------ diff --git a/lisp/org-list.el b/lisp/org-list.el index 7469add..872dddf 100644 --- a/lisp/org-list.el +++ b/lisp/org-list.el @@ -110,6 +110,9 @@ with \\[org-ctrl-c-ctrl-c\\]." :group 'org-plain-lists :type 'boolean) +(defcustom org-recursive-checkbox-statistics nil + "Non-nil means, that checkbox counting should happen recursively.") + (defcustom org-description-max-indent 20 "Maximum indentation for the second line of a description list. When the indentation would be larger than this, it will become @@ -402,7 +405,10 @@ the whole buffer." (org-beginning-of-item) (setq curr-ind (org-get-indentation)) (setq next-ind curr-ind) - (while (and (bolp) (org-at-item-p) (= curr-ind next-ind)) + (while (and (bolp) (org-at-item-p) + (if org-recursive-checkbox-statistics + (<= curr-ind next-ind) + (= curr-ind next-ind))) (save-excursion (end-of-line) (setq eline (point))) (if (re-search-forward re-box eline t) (if (member (match-string 2) '("[ ]" "[-]")) @@ -410,7 +416,12 @@ the whole buffer." (setq c-on (1+ c-on)) ) ) - (org-end-of-item) + (if org-recursive-checkbox-statistics + (progn + (end-of-line) + (when (re-search-forward org-list-beginning-re lim t) + (beginning-of-line))) + (org-end-of-item)) (setq next-ind (org-get-indentation)) ))) (goto-char continue-from) > ------------------------------------------------------------------------ -- Richard _______________________________________________ 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