emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] Re: checkbox statistics (fixed version)


From: Eddward DeVilla
Subject: Re: [Orgmode] Re: checkbox statistics (fixed version)
Date: Fri, 8 May 2009 18:50:16 -0500

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
<address@hidden> 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.
>> address@hidden
>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>




reply via email to

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