From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rainer Stengele Subject: question about performance when having multiple todo blocks from the same org files .. Date: Mon, 13 Jan 2014 14:02:54 +0100 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55405) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W2hAh-0005nm-QH for emacs-orgmode@gnu.org; Mon, 13 Jan 2014 08:03:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W2hAZ-0001bP-KD for emacs-orgmode@gnu.org; Mon, 13 Jan 2014 08:03:15 -0500 Received: from plane.gmane.org ([80.91.229.3]:34102) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W2hAZ-0001Zr-EL for emacs-orgmode@gnu.org; Mon, 13 Jan 2014 08:03:07 -0500 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1W2hAX-00072B-TF for emacs-orgmode@gnu.org; Mon, 13 Jan 2014 14:03:05 +0100 Received: from 212.34.176.74 ([212.34.176.74]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 13 Jan 2014 14:03:05 +0100 Received: from rainer.stengele by 212.34.176.74 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 13 Jan 2014 14:03:05 +0100 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: emacs-orgmode@gnu.org Hi. I have a complex agenda function as can be seen below. Beside an agenda call I do want to show todos separated in blocks, grouped by priority or tags. I want to show my prio A todos as one block before showing the rest of the todos sorted by prio. I was wondering if Org does run through all the org files again and again in order to collect the data wanted or if there is something like a cache is being filled when running through all buffers, collects all todos and then groups, sorts and is availble for printing out whats wanted. Thank you for a reply from someone who knows the internals. Rainer Org-mode version 8.2.2 (release_8.2.2-193-gf10166) ... ("01" "agenda - prio A,B todos - sorted prio up - today" ;; ( ;; show ONGOING todos first, but only if unscheduled, skip if scheduled (tags-todo "ONGOING" ((org-agenda-skip-function '(org-agenda-skip-entry-if 'scheduled)) (org-agenda-overriding-header "ONGOING todos: "))) (agenda "todays agenda" ( ;; (org-agenda-skip-function ;; (lambda nil ;; (org-agenda-skip-entry-if 'regexp ":ONGOING:"))) ;; (org-agenda-skip-entry-if 'regexp ":ONGOING:"))) (org-agenda-span 'day) (org-agenda-start-with-log-mode t) (org-agenda-start-with-clockreport-mode t) (org-agenda-overriding-header "Today's Agenda"))) (alltodo "!!! TODOs Prio A - skip ONGOING todos!!!" ( (org-agenda-skip-function (lambda nil (or (org-agenda-skip-entry-if (quote notregexp) "\\=.*\\[#A\\]") (org-agenda-skip-entry-if 'regexp ":ONGOING:") (org-agenda-skip-entry-if 'scheduled 'deadline )))) (org-agenda-overriding-header "!!! TODOs prio A - skip ONGOING todos: !!!") )) (alltodo "todos Prio B til D - skip ONGOING todos" ( (org-agenda-skip-function (lambda nil (or (org-agenda-skip-entry-if (quote notregexp) "\\=.*\\[#B\\|#C\\|#D\\]") (org-agenda-skip-entry-if 'regexp ":ONGOING:") (org-agenda-skip-entry-if 'scheduled 'deadline )))) (org-agenda-overriding-header "All todos prio B til D - skip ONGOING todos: ") )) ) ((org-agenda-sorting-strategy '(time-up priority-down todo-state-up)))) ...