emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Peter Salazar <cycleofsong@gmail.com>
To: nicholas.dokos@hp.com
Cc: emacs-orgmode@gnu.org
Subject: Re: automatically mark DONE when all sub checkboxes are checked
Date: Mon, 13 Feb 2012 03:08:05 -0500	[thread overview]
Message-ID: <CAE+_6TwYRMEu+0D0==j_GVm93PC6Bcc5FpsRZOVs6KHCPZ0S1Q@mail.gmail.com> (raw)
In-Reply-To: <14795.1328984224@alphaville>

[-- Attachment #1: Type: text/plain, Size: 2678 bytes --]

Nick, thank you so much. That worked like a charm!


On Sat, Feb 11, 2012 at 1:17 PM, Nick Dokos <nicholas.dokos@hp.com> wrote:

> Peter Salazar <cycleofsong@gmail.com> wrote:
>
> > Hello everyone! Org-mode is amazing. I've totally fallen in love with
> it. Glad to be joining the
> > community.
> >
> > I'm trying to get org-mode to automatically mark DONE when all sub
> checkboxes are checked. On http:/
> > /orgmode.org/worg/org-faq.html, I found a function that purports to do
> this.
> >
> > I pasted the function into my .emacs file, but now I'm getting an error
> message when I launch:
> > "Symbol's value as variable is void: org-checkbox-statistics-hook."
> >
> > Any thoughts? Thanks in advance!
> >
>
> You need to do the add-to-list *after* the variable is defined. The
> variable is defined in org-list.el, so one way to do it is
>
>         (require 'org-list)
>         (add-to-list 'org-checkbox-statistics-hook (function
> ndk/checkbox-list-complete))
>
> This is the sledge hammer approach - and depending on exactly when it's
> done, it might cause other problems (e.g. it should probably be done
> after the rest of org is loaded). There are various other ways to do it
> more gently - e.g.
>
> (eval-after-load 'org-list
>     '(add-to-list 'org-checkbox-statistics-hook (function
> ndk/checkbox-list-complete)))
>
> I'll probably modify the faq to say this (actually, I think the whole
> kit-n-caboodle
> should be moved over to org-hacks and a link should be planted in org-faq
> pointing to
> the org-hacks entry.)
>
> Nick
>
> > ;; see http://thread.gmane.org/gmane.emacs.orgmode/42715
> > (add-to-list 'org-checkbox-statistics-hook (function
> ndk/checkbox-list-complete))
> >
> > (defun ndk/checkbox-list-complete ()
> >   (save-excursion
> >     (org-back-to-heading t)
> >     (let ((beg (point)) end)
> >       (end-of-line)
> >       (setq end (point))
> >       (goto-char beg)
> >       (if (re-search-forward
> "\\[\\([0-9]*%\\)\\]\\|\\[\\([0-9]*\\)/\\([0-9]*\\)\\]" end t)
> >             (if (match-end 1)
> >                 (if (equal (match-string 1) "100%")
> >                     ;; all done - do the state change
> >                     (org-todo 'done)
> >                   (org-todo 'todo))
> >               (if (and (> (match-end 2) (match-beginning 2))
> >                        (equal (match-string 2) (match-string 3)))
> >                   (org-todo 'done)
> >                 (org-todo 'todo))))))))
> >
> > P.S. Not sure if it's relevant, but I'm on OSX using Aquamacs 2.4.
> >
> >
> > ----------------------------------------------------
> > Alternatives:
> >
> > ----------------------------------------------------
>

[-- Attachment #2: Type: text/html, Size: 3562 bytes --]

      reply	other threads:[~2012-02-13  8:08 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-10 21:06 automatically mark DONE when all sub checkboxes are checked Peter Salazar
2012-02-10 21:13 ` John Hendy
2012-02-10 22:31   ` Angel de Vicente
2012-02-10 22:47     ` John Hendy
2012-02-11  0:41       ` Nick Dokos
2012-02-11  2:20         ` John Hendy
2012-02-11 18:17 ` Nick Dokos
2012-02-13  8:08   ` Peter Salazar [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAE+_6TwYRMEu+0D0==j_GVm93PC6Bcc5FpsRZOVs6KHCPZ0S1Q@mail.gmail.com' \
    --to=cycleofsong@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=nicholas.dokos@hp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).