Re: [O] Parser - which values are possible for `archivedp'?
Thorsten Jolitz tjol...@gmail.com writes: Hi List, the name of headline attribute `archivedp' suggests its just a boolean nil/t variable, but in parse trees I see e.g. a list as value ,--- | :archivedp (ARCHIVE) `--- and I vaguely remember that I have seen different symbols as values of this attribute too. So what do I have to expect as values here? A list of strings or nil? Or something else too? Whatever is defined in ,--- | org-archive-tag is a variable defined in `org.el'. | Its value is ARCHIVE `--- ? PS If the tag is just a string like in this case, why is it shown as list in the parse tree? It is set like this (let ... (archivedp (member org-archive-tag tags)) ...) in org-element.el. It is effectively a boolean, but there is no need to reduce the return value of ``member'' to t if it is non-nil: , |member is a built-in function in `C source code'. | | (member ELT LIST) | | Return non-nil if ELT is an element of LIST. Comparison done with `equal'. ` So if non-nil, it will be a list of tags, starting with the value of org-archive-tag. AFAICT, the rest of the tags can be arbitrary. -- Nick
Re: [O] Parser - which values are possible for `archivedp'?
Nick Dokos ndo...@gmail.com writes: Thorsten Jolitz tjol...@gmail.com writes: Hi List, the name of headline attribute `archivedp' suggests its just a boolean nil/t variable, but in parse trees I see e.g. a list as value ,--- | :archivedp (ARCHIVE) `--- and I vaguely remember that I have seen different symbols as values of this attribute too. So what do I have to expect as values here? A list of strings or nil? Or something else too? Whatever is defined in ,--- | org-archive-tag is a variable defined in `org.el'. | Its value is ARCHIVE `--- ? PS If the tag is just a string like in this case, why is it shown as list in the parse tree? It is set like this (let ... (archivedp (member org-archive-tag tags)) ...) in org-element.el. It is effectively a boolean, but there is no need to reduce the return value of ``member'' to t if it is non-nil: , |member is a built-in function in `C source code'. | | (member ELT LIST) | | Return non-nil if ELT is an element of LIST. Comparison done with | equal'. ` So if non-nil, it will be a list of tags, starting with the value of org-archive-tag. AFAICT, the rest of the tags can be arbitrary. ** Second Level 2 :tag:my:ARCHIVE: , | :tags (tag my) [...] :archivedp (ARCHIVE) ` -- cheers, Thorsten
Re: [O] Parser - which values are possible for `archivedp'?
Nick Dokos ndo...@gmail.com writes: Thorsten Jolitz tjol...@gmail.com writes: Hi List, the name of headline attribute `archivedp' suggests its just a boolean nil/t variable, but in parse trees I see e.g. a list as value ,--- | :archivedp (ARCHIVE) `--- and I vaguely remember that I have seen different symbols as values of this attribute too. So what do I have to expect as values here? A list of strings or nil? Or something else too? Whatever is defined in ,--- | org-archive-tag is a variable defined in `org.el'. | Its value is ARCHIVE `--- ? PS If the tag is just a string like in this case, why is it shown as list in the parse tree? It is set like this (let ... (archivedp (member org-archive-tag tags)) ...) in org-element.el. It is effectively a boolean, but there is no need to reduce the return value of ``member'' to t if it is non-nil: , |member is a built-in function in `C source code'. | | (member ELT LIST) | | Return non-nil if ELT is an element of LIST. Comparison done with | equal'. ` So if non-nil, it will be a list of tags, starting with the value of org-archive-tag. AFAICT, the rest of the tags can be arbitrary. [ups ... I sent this unfinished by accident first] Ok, thanks, this explains a lot, and it seems that Org-mode inserts the :ARCHIVE: tag always at the end, and other tags in front of it: ,--- | ** Second Level 2 :tag:my:ARCHIVE: `--- so it will almost always look like this: , | :tags (tag my) [...] :archivedp (ARCHIVE) ` -- cheers, Thorsten
Re: [O] Parser - which values are possible for `archivedp'?
Hello, On 4 March 2014 09:47, Thorsten Jolitz tjol...@gmail.com wrote: Nick Dokos ndo...@gmail.com writes: Thorsten Jolitz tjol...@gmail.com writes: Hi List, the name of headline attribute `archivedp' suggests its just a boolean nil/t variable, but in parse trees I see e.g. a list as value ,--- | :archivedp (ARCHIVE) `--- and I vaguely remember that I have seen different symbols as values of this attribute too. So what do I have to expect as values here? A list of strings or nil? Or something else too? Whatever is defined in ,--- | org-archive-tag is a variable defined in `org.el'. | Its value is ARCHIVE `--- ? PS If the tag is just a string like in this case, why is it shown as list in the parse tree? It is set like this (let ... (archivedp (member org-archive-tag tags)) ...) in org-element.el. It is effectively a boolean, but there is no need to reduce the return value of ``member'' to t if it is non-nil: , |member is a built-in function in `C source code'. | | (member ELT LIST) | | Return non-nil if ELT is an element of LIST. Comparison done with | equal'. ` So if non-nil, it will be a list of tags, starting with the value of org-archive-tag. AFAICT, the rest of the tags can be arbitrary. ** Second Level 2 :tag:my:ARCHIVE: , | :tags (tag my) [...] :archivedp (ARCHIVE) ` Change the order of the tags so that Archive comes before the others and you get: ** Second level 2 :ARCHIVE:tag:my: :tags (tag my) :archivedp (ARCHIVE tag my) Regards, Jon -- cheers, Thorsten
Re: [O] Parser - which values are possible for `archivedp'?
Jonathan Leech-Pepin jonathan.leechpe...@gmail.com writes: Hello, On 4 March 2014 09:47, Thorsten Jolitz tjol...@gmail.com wrote: Nick Dokos ndo...@gmail.com writes: Thorsten Jolitz tjol...@gmail.com writes: Hi List, the name of headline attribute `archivedp' suggests its just a boolean nil/t variable, but in parse trees I see e.g. a list as value ,--- | :archivedp (ARCHIVE) `--- and I vaguely remember that I have seen different symbols as values of this attribute too. So what do I have to expect as values here? A list of strings or nil? Or something else too? Whatever is defined in ,--- | org-archive-tag is a variable defined in `org.el'. | Its value is ARCHIVE `--- ? PS If the tag is just a string like in this case, why is it shown as list in the parse tree? It is set like this (let ... (archivedp (member org-archive-tag tags)) ...) in org-element.el. It is effectively a boolean, but there is no need to reduce the return value of ``member'' to t if it is non-nil: , | member is a built-in function in `C source code'. | | (member ELT LIST) | | Return non-nil if ELT is an element of LIST. Comparison done with | equal'. ` So if non-nil, it will be a list of tags, starting with the value of org-archive-tag. AFAICT, the rest of the tags can be arbitrary. ** Second Level 2 :tag:my:ARCHIVE: , | :tags (tag my) [...] :archivedp (ARCHIVE) ` Change the order of the tags so that Archive comes before the others and you get: ** Second level 2 :ARCHIVE:tag:my: :tags (tag my) :archivedp (ARCHIVE tag my) A very useful feature of the `member' function in lisp programming, but not that great in this case I would say ... why not use (car (member ...))? Then its just a string, and the single value of interest. -- cheers, Thorsten
Re: [O] Parser - which values are possible for `archivedp'?
Nick Dokos ndo...@gmail.com writes: Thorsten Jolitz tjol...@gmail.com writes: So if non-nil, it will be a list of tags, starting with the value of org-archive-tag. AFAICT, the rest of the tags can be arbitrary. ** Second Level 2 :tag:my:ARCHIVE: , | :tags (tag my) [...] :archivedp (ARCHIVE) ` Change the order of the tags so that Archive comes before the others and you get: ** Second level 2 :ARCHIVE:tag:my: :tags (tag my) :archivedp (ARCHIVE tag my) A very useful feature of the `member' function in lisp programming, but not that great in this case I would say ... why not use (car (member ...))? Then its just a string, and the single value of interest. Why? All that matters is whether it's nil or not. Why not? With a tiny change in the code one would get rid of potential redundancy in the parse tree, would cause less surprise for people who look at the parsers output (what does :archivedp (ARCHIVE tag my) mean?) and would get something more logical (the value of :archivedp is either nil or the string in org-archive-tag). But its not really that important I guess, I just needed to know what kind of values to expect in that place - thanks for the hints. I use that in another program where it does matter if its a boolean, a string or a list of strings ... -- cheers, Thorsten