emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] Re: user-defined agenda sorting


From: Carsten Dominik
Subject: Re: [Orgmode] Re: user-defined agenda sorting
Date: Sat, 20 Jun 2009 06:12:13 +0200


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<address@hidden > 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<address@hidden> 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.
address@hidden
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 via email to

[Prev in Thread] Current Thread [Next in Thread]