From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bernt Hansen Subject: Re: Finding tasks without a specific property set Date: Tue, 12 Feb 2008 11:52:28 -0500 Message-ID: <877ihaktgz.fsf@gollum.intra.norang.ca> References: <87d4r2ogqg.fsf@gollum.intra.norang.ca> <903D6991-B0F0-4BA1-93CD-8BB0BC6B2849@science.uva.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JOyNA-00007K-Bo for emacs-orgmode@gnu.org; Tue, 12 Feb 2008 11:52:44 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JOyN9-000069-Np for emacs-orgmode@gnu.org; Tue, 12 Feb 2008 11:52:44 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JOyN9-00005u-KI for emacs-orgmode@gnu.org; Tue, 12 Feb 2008 11:52:43 -0500 Received: from mho-02-bos.mailhop.org ([63.208.196.179]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JOyN9-0006hV-GM for emacs-orgmode@gnu.org; Tue, 12 Feb 2008 11:52:43 -0500 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Carsten Dominik Cc: emacs-orgmode@gnu.org Carsten Dominik writes: > Hi Bernt, Hi :) > > On Feb 12, 2008, at 7:01 AM, Bernt Hansen wrote: >> One of the things I do regularly (as part of my weekly review) is find >> NEXT tasks with no Effort property so I can use column view to add a >> value for each task with no effort estimate. I'm currently using a >> custom agenda view (N) for this. >> >> ,----[ Tags search for NEXT tasks with no Effort property assigned ] >> | Headlines with TAGS match: -Effort="0:10"-Effort="0:30"- >> Effort="1:00"-Effort="2:00"-Effort="3:00"-Effort="4:00"- >> Effort="5:00"-Effort="6:00"-Effort="7:00"-Effort="8:00"/NEXT >> `---- >> >> I haven't found a better way to do this other than to list all >> possible >> Effort property values in a tags search. What I really want to >> match is >> any NEXT task with no Effort property (or a Effort property value that >> is blank) >> >> Is there a way to do that? > > > Yes there is: You can use a regular expression matching the empty > string: > > Effort={^$}/NEXT > > What also should work (but does not...) is > > Effort=""/NEXT > > This will work in the next version, an I hope to document this with an > example. > >> I could just do a todo search for NEXT and go to column view and scan >> down the list for blank entries... but my list of NEXT tasks is long >> (currently 140). Hmmm actually that isn't too bad and the NEXT todo >> search is much faster than my "Next Tasks - No Specified Duration" >> search which takes 6-10 seconds to execute. > > That is really long. One possible reason is that you might have > turned on > property inheritance. If this is on and you check a property that > does not > exist locally, Org-mode has to go back all the way to the top level > for each headline it checks. If you have tuned inheritance on, please > consider to restrict it to a few properties. Property inheritance is off. I think it's probably due to the number of lines in my org-files that are in org-agenda-files. These org files (and yes I archive them... :) currently have 10522 lines totalling 551623 bytes... > > Since you are looking only for NEXT entries you can also speed things up > by requiring that the entry is a TODO. You can do this by using > `tags-todo' instead of `todo' when defining the custom command, or by > writing the search as (note the "!" after the "/"). > > Effort={^$}/!NEXT > Thanks! That's much faster. > I'd be interested what happens to your timing with these improvements. Headlines with TAGS match: -Effort="0:10"-Effort="0:30"-Effort="1:00"-Effort="2:00"-Effort="3:00"-Effort="4:00"-Effort="5:00"-Effort="6:00"-Effort="7:00"-Effort="8:00"/NEXT 6-7 seconds --- Headlines with TAGS match: Effort={^$}/NEXT 6-7 seconds --- Headlines with TAGS match: -Effort="0:10"-Effort="0:30"-Effort="1:00"-Effort="2:00"-Effort="3:00"-Effort="4:00"-Effort="5:00"-Effort="6:00"-Effort="7:00"-Effort="8:00"/!NEXT 1-2 seconds --- Headlines with TAGS match: Effort={^$}/!NEXT 1-2 seconds I'll use the last one -- Thanks! > > Reasonably cryptic all this, I know. This is what happens when you > add features with time instead of designing the full thing from the > start. Yes... but that's why it's so useful -- development is mostly driven by real world problems and needs and not some theoretical "Wouldn't it be nice to have this cool feature" requests. > >> Maybe I answered my own question :) > > and I hope I added another perspective. Yes thanks! -Bernt