That's true, but to be honest, before I knew about the [-] feature, I used [/] tokens on list items with checkboxes under them. I'd consider this an improvement.
Edd On Fri, May 8, 2009 at 10:27 AM, Carsten Dominik <carsten.domi...@gmail.com> wrote: > Hi Richard, > > your patch works, almost. > > Where it goes wrong is here: > > * test [3/6] > - one > - [X] two > - three > - [-] four > - [X] five > - [-] six > - seven > - [ ] eight > - [X] nine > > > The statistics cookie talks about 6 checkboxes below it, > but in fact there are only 4, two (at "four" and "six") > are a "summary" checkboxes. > So we get the funny effect that toggling "eight" will make > the cookie jump from 3/6 directly to 6/6 .... > > Maybe this is acceptable, because the "summary" checkboxes don't really > make sense when the statistics covers the entire tree.... > > Opinions? > > - Carsten > > On Apr 24, 2009, at 3:01 PM, Richard KLINDA wrote: > >> 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 > > > > _______________________________________________ > 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 > _______________________________________________ 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