From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcin Borkowski Subject: Re: An issue with org-agenda-todo-list-sublevels Date: Wed, 16 Dec 2015 00:33:21 +0100 Message-ID: <87oadr9tj2.fsf@mbork.pl> References: <877fkldgvw.fsf@mbork.pl> <87h9jo121d.fsf@nicolasgoaziou.fr> <87vb84aq48.fsf@mbork.pl> <871taoc00z.fsf@mbork.pl> <87y4cwiwoe.fsf@alphaville.usersys.redhat.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39878) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a8z6H-0003W9-Ss for emacs-orgmode@gnu.org; Tue, 15 Dec 2015 18:33:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a8z6D-00039U-Is for emacs-orgmode@gnu.org; Tue, 15 Dec 2015 18:33:45 -0500 Received: from mail.mojserwer.eu ([2a01:5e00:2:52::8]:53927) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a8z6D-000393-8L for emacs-orgmode@gnu.org; Tue, 15 Dec 2015 18:33:41 -0500 In-reply-to: <87y4cwiwoe.fsf@alphaville.usersys.redhat.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Nick Dokos Cc: emacs-orgmode@gnu.org On 2015-12-14, at 21:48, Nick Dokos wrote: > Marcin Borkowski writes: > >>> On 2015-12-12, at 09:53, Nicolas Goaziou 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. Strange. I have the same error even with emacs -q, with minimal Org config - the above function and one simple agenda file, containing this: * DONE done ** TODO todo Org-mode version 8.2.10 (release_8.2.10 @ /usr/local/share/emacs/25.0.50/lisp/org/) Any hints? Here's the debugger output: --8<---------------cut here---------------start------------->8--- Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p t) goto-char(t) (and (setq to (or (org-agenda-skip-eval org-agenda-skip-function-global) (org-agenda-skip-eval org-agenda-skip-function))) (goto-char to)) (or (save-excursion (goto-char p) (looking-at comment-start-skip)) (and org-agenda-skip-archived-trees (not org-agenda-archives-mode) (get-text-property p :org-archived) (org-end-of-subtree t)) (and org-agenda-skip-comment-trees (get-text-property p :org-comment) (org-end-of-subtree t)) (and (setq to (or (org-agenda-skip-eval org-agenda-skip-function-global) (org-agenda-skip-eval org-agenda-skip-function))) (goto-char to)) (org-in-src-block-p t)) (if (or (save-excursion (goto-char p) (looking-at comment-start-skip)) (and org-agenda-skip-archived-trees (not org-agenda-archives-mode) (get-text-property p :org-archived) (org-end-of-subtree t)) (and org-agenda-skip-comment-trees (get-text-property p :org-comment) (org-end-of-subtree t)) (and (setq to (or (org-agenda-skip-eval org-agenda-skip-function-global) (org-agenda-skip-eval org-agenda-skip-function))) (goto-char to)) (org-in-src-block-p t)) (progn (throw :skip t))) (let ((p (point-at-bol)) to) (if (or (save-excursion (goto-char p) (looking-at comment-start-skip)) (and org-agenda-skip-archived-trees (not org-agenda-archives-mode) (get-text-property p :org-archived) (org-end-of-subtree t)) (and org-agenda-skip-comment-trees (get-text-property p :org-comment) (org-end-of-subtree t)) (and (setq to (or (org-agenda-skip-eval org-agenda-skip-function-global) (org-agenda-skip-eval org-agenda-skip-function))) (goto-char to)) (org-in-src-block-p t)) (progn (throw :skip t)))) org-agenda-skip() org-agenda-get-todos() org-agenda-get-day-entries("/home/mbork/org/emacs.org" (12 16 2015) :todo) org-todo-list(nil) funcall-interactively(org-todo-list nil) call-interactively(org-todo-list) (let ((org-agenda-skip-function (function mbork/org-agenda-skip-if-parent-done))) (call-interactively (quote org-todo-list))) (let nil (let ((org-agenda-skip-function (function mbork/org-agenda-skip-if-parent-done))) (call-interactively (quote org-todo-list)))) eval((let nil (let ((org-agenda-skip-function (function mbork/org-agenda-skip-if-parent-done))) (call-interactively (quote org-todo-list))))) org-let2(nil ((org-agenda-skip-function (function mbork/org-agenda-skip-if-parent-done))) (call-interactively (quote org-todo-list))) org-agenda-run-series("Agenda and TODOs" (((agenda "") (alltodo "" ((org-agenda-skip-function (function mbork/org-agenda-skip-if-parent-done))))))) org-agenda(nil) funcall-interactively(org-agenda nil) call-interactively(org-agenda nil nil) command-execute(org-agenda) --8<---------------cut here---------------end--------------->8--- -- Marcin Borkowski http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski Faculty of Mathematics and Computer Science Adam Mickiewicz University