* Parser - which values are possible for `archivedp'?
@ 2014-03-04 14:16 Thorsten Jolitz
2014-03-04 14:35 ` Nick Dokos
0 siblings, 1 reply; 8+ messages in thread
From: Thorsten Jolitz @ 2014-03-04 14:16 UTC (permalink / raw)
To: emacs-orgmode
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?
--
cheers,
Thorsten
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Parser - which values are possible for `archivedp'?
2014-03-04 14:16 Parser - which values are possible for `archivedp'? Thorsten Jolitz
@ 2014-03-04 14:35 ` Nick Dokos
2014-03-04 14:47 ` Thorsten Jolitz
2014-03-04 14:52 ` Thorsten Jolitz
0 siblings, 2 replies; 8+ messages in thread
From: Nick Dokos @ 2014-03-04 14:35 UTC (permalink / raw)
To: emacs-orgmode
Thorsten Jolitz <tjolitz@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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Parser - which values are possible for `archivedp'?
2014-03-04 14:35 ` Nick Dokos
@ 2014-03-04 14:47 ` Thorsten Jolitz
2014-03-04 14:51 ` Jonathan Leech-Pepin
2014-03-04 14:52 ` Thorsten Jolitz
1 sibling, 1 reply; 8+ messages in thread
From: Thorsten Jolitz @ 2014-03-04 14:47 UTC (permalink / raw)
To: emacs-orgmode
Nick Dokos <ndokos@gmail.com> writes:
> Thorsten Jolitz <tjolitz@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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Parser - which values are possible for `archivedp'?
2014-03-04 14:47 ` Thorsten Jolitz
@ 2014-03-04 14:51 ` Jonathan Leech-Pepin
2014-03-04 14:58 ` Thorsten Jolitz
0 siblings, 1 reply; 8+ messages in thread
From: Jonathan Leech-Pepin @ 2014-03-04 14:51 UTC (permalink / raw)
To: Thorsten Jolitz; +Cc: Org Mode Mailing List
[-- Attachment #1: Type: text/plain, Size: 2032 bytes --]
Hello,
On 4 March 2014 09:47, Thorsten Jolitz <tjolitz@gmail.com> wrote:
> Nick Dokos <ndokos@gmail.com> writes:
>
> > Thorsten Jolitz <tjolitz@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
>
>
>
[-- Attachment #2: Type: text/html, Size: 3306 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Parser - which values are possible for `archivedp'?
2014-03-04 14:35 ` Nick Dokos
2014-03-04 14:47 ` Thorsten Jolitz
@ 2014-03-04 14:52 ` Thorsten Jolitz
1 sibling, 0 replies; 8+ messages in thread
From: Thorsten Jolitz @ 2014-03-04 14:52 UTC (permalink / raw)
To: emacs-orgmode
Nick Dokos <ndokos@gmail.com> writes:
> Thorsten Jolitz <tjolitz@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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Parser - which values are possible for `archivedp'?
2014-03-04 14:51 ` Jonathan Leech-Pepin
@ 2014-03-04 14:58 ` Thorsten Jolitz
2014-03-04 15:44 ` Nick Dokos
0 siblings, 1 reply; 8+ messages in thread
From: Thorsten Jolitz @ 2014-03-04 14:58 UTC (permalink / raw)
To: emacs-orgmode
Jonathan Leech-Pepin <jonathan.leechpepin@gmail.com> writes:
> Hello,
>
> On 4 March 2014 09:47, Thorsten Jolitz <tjolitz@gmail.com> wrote:
>
>
> Nick Dokos <ndokos@gmail.com> writes:
>
> > Thorsten Jolitz <tjolitz@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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Parser - which values are possible for `archivedp'?
2014-03-04 14:58 ` Thorsten Jolitz
@ 2014-03-04 15:44 ` Nick Dokos
2014-03-04 16:19 ` Thorsten Jolitz
0 siblings, 1 reply; 8+ messages in thread
From: Nick Dokos @ 2014-03-04 15:44 UTC (permalink / raw)
To: emacs-orgmode
Thorsten Jolitz <tjolitz@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.
Nick
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Parser - which values are possible for `archivedp'?
2014-03-04 15:44 ` Nick Dokos
@ 2014-03-04 16:19 ` Thorsten Jolitz
0 siblings, 0 replies; 8+ messages in thread
From: Thorsten Jolitz @ 2014-03-04 16:19 UTC (permalink / raw)
To: emacs-orgmode
Nick Dokos <ndokos@gmail.com> writes:
> Thorsten Jolitz <tjolitz@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
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-03-04 16:18 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-04 14:16 Parser - which values are possible for `archivedp'? Thorsten Jolitz
2014-03-04 14:35 ` Nick Dokos
2014-03-04 14:47 ` Thorsten Jolitz
2014-03-04 14:51 ` Jonathan Leech-Pepin
2014-03-04 14:58 ` Thorsten Jolitz
2014-03-04 15:44 ` Nick Dokos
2014-03-04 16:19 ` Thorsten Jolitz
2014-03-04 14:52 ` Thorsten Jolitz
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).