emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <carsten.dominik@gmail.com>
To: Samuel Wales <samologist@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: Re: user-defined agenda sorting
Date: Sat, 20 Jun 2009 06:12:13 +0200	[thread overview]
Message-ID: <2AAD5C1A-D60F-4770-9891-8C536A522FA7@gmail.com> (raw)
In-Reply-To: <20524da70906191300t68758b56i81ecef1db8dcf961@mail.gmail.com>


On Jun 19, 2009, at 10:00 PM, Samuel Wales wrote:

> Thanks.
>
> Just to confirm, to get the inherited tags and the priority letter, I
> have to go to the original buffer?

No.  The priority letter is still in the string, you can use a regular  
expression to
get it directly from a

   (or (and (string-match "\\[#\\([ABC]\\)\\]" a) (match-string 1 a))
       "B")

The text property tags contains a list of all tags, the inherited tags  
carry
a text peroperty `inherited'.

HTH

- Carsten


>
> On Fri, Jun 19, 2009 at 08:39, Carsten Dominik<carsten.dominik@gmail.com 
> > wrote:
>>
>> On Jun 16, 2009, at 11:13 AM, Samuel Wales wrote:
>>
>>> If my skills at cargo-cult programming can summon the air force,  
>>> then
>>> (get-text-property 1 'priority a/b] will work.  But I'm not sure if
>>> there are functions for parsing tags etc.  Testing seems difficult  
>>> as
>>> cut and paste of headline strings seems to not include properties.
>>>
>>> Thanks.
>>>
>>> On Tue, Jun 16, 2009 at 01:57, Samuel Wales<samologist@gmail.com>  
>>> wrote:
>>>>
>>>> I have a sort comparison function for the outline, which
>>>> returns a number.  This works well.
>>>>
>>>> The documentation for user-defined agenda sorting says "This
>>>> function must receive two arguments, agenda entry a and b."
>>>> I am not sure what a and b are, strings?
>>>>
>>>> My function gets priorities, tags, and todo kw assuming point is  
>>>> on a
>>>> headline.  It uses org functions to get those.  The org code for
>>>> agenda sorting uses text properties.
>>>>
>>>> How to adapt my function to get the following information:  
>>>> priorities
>>>> as [?A..?C], inherited and local tags as a list, and todo kw as a
>>>> string?
>>>>
>>>> Is there a place where how to parse a and b is documented?
>>
>>
>> Not really.  `a' and `b' are the strings that are inserted into the  
>> agenda,
>> each line in the agenda may be `a' or `b'.
>> The strings are loaded with text properties carrying all kinds of
>> information.
>> You can look at these properties by pressing `C-u C-x =' on a line  
>> in the
>> agenda.
>> If the information you want is not there, you can take the
>> org-morker and org-hd-marker properties to visit the original  
>> entries and
>> get the needed info from there.  And example for this is in
>> `org-cmp-todo-state'
>> which returns to the original buffer in order to get the buffer-local
>> list of TODO states from there.
>>
>> All the org-cmp-.... functions contain examples on how the text  
>> properties
>> are used from comparing entries.
>>
>> The reason why these are in different text properties is historic,  
>> because I
>> added this stuff one by one, over time.  Looking back, a single  
>> property
>> list
>> would have been better for tasks like the one you are working on.
>>
>> HTH
>>
>> - Carsten
>>
>>>>
>>>> Thanks.
>>>>
>>>> --
>>>> Myalgic encephalomyelitis denialism is causing death and severe
>>>> suffering,
>>>> worse than MS.  Conflicts of interest are destroying research.  / 
>>>> You/ can
>>>> get the disease at any time permanently.  Do science and justice  
>>>> matter
>>>> to
>>>> you?  http://www.meactionuk.org.uk/What_Is_ME_What_Is_CFS.htm
>>>>
>>>
>>>
>>>
>>> --
>>> Myalgic encephalomyelitis denialism is causing death and severe  
>>> suffering,
>>> worse than MS.  Conflicts of interest are destroying research.  / 
>>> You/ can
>>> get the disease at any time permanently.  Do science and justice  
>>> matter to
>>> you?  http://www.meactionuk.org.uk/What_Is_ME_What_Is_CFS.htm
>>>
>>>
>>> _______________________________________________
>>> Emacs-orgmode mailing list
>>> Remember: use `Reply All' to send replies to the list.
>>> Emacs-orgmode@gnu.org
>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
>>
>>
>
>
>
> -- 
> Myalgic encephalomyelitis denialism is causing death and severe  
> suffering,
> worse than MS.  Conflicts of interest are destroying research.  / 
> You/ can
> get the disease at any time permanently.  Do science and justice  
> matter to
> you?  http://www.meactionuk.org.uk/What_Is_ME_What_Is_CFS.htm

      reply	other threads:[~2009-06-20  4:12 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-16  8:57 user-defined agenda sorting Samuel Wales
2009-06-16  9:13 ` Samuel Wales
2009-06-19 15:39   ` Carsten Dominik
2009-06-19 20:00     ` Samuel Wales
2009-06-20  4:12       ` Carsten Dominik [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=2AAD5C1A-D60F-4770-9891-8C536A522FA7@gmail.com \
    --to=carsten.dominik@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=samologist@gmail.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).