Marcin Borkowski <mb...@mbork.pl> writes: >> On 2015-12-12, at 09:53, Nicolas Goaziou <m...@nicolasgoaziou.fr> wrote: >> >>> You can use a dedicated function in `org-agenda-skip-function' for that >>> (e.g., ignore task if one of its parents is a done task). > > OK, so it doesn't work (probably because I'm doing something wrong...) > > I did this: > > (defun mbork/org-agenda-skip-if-parent-done () > "Return t if any of the parents of the current entry is a DONE > item." > (save-excursion > (catch 'done > (while (org-up-heading-safe) > (if (org-entry-is-done-p) > (throw 'done t)))))) > > (setq org-agenda-custom-commands > '(("n" > "Agenda and TODOs" > ((agenda "") > (alltodo "" ((org-agenda-skip-function > #'mbork/org-agenda-skip-if-parent-done))))))) > > and I see this: > > and: Wrong type argument: integer-or-marker-p, t > > What may be the problem? How do I even debug this? >
Are you testing it with emacs -q -l /path/to/min/org-init.el? If not, you probably should: I don't get any errors with the stuff above in my minimal org file, which leads me to suspect it's something in (the rest of) your configuration. -- Nick