* About the use of PROPERTY "meta lines"... @ 2011-12-29 8:58 Sebastien Vauban 2012-01-02 17:39 ` Eric Schulte 0 siblings, 1 reply; 8+ messages in thread From: Sebastien Vauban @ 2011-12-29 8:58 UTC (permalink / raw To: emacs-orgmode-mXXj517/zsQ #+TITLE: Properties #+AUTHOR: Seb Vauban #+PROPERTY: var foo=1 #+PROPERTY: var+ bar=2 * Abstract IIUC, properties are set in this way: - on a file basis, before any heading, through the =PROPERTY= keyword, - on a subtree basis, through the =PROPERTIES= block. My comprehension is that the =PROPERTY= keyword may not be used inside "trees", and should be ignored if that would happen. The following example shows that either: - I'm wrong to think so, - there is a bug. What is the right assumption here? * Subtree Being located in a subtree, the following lines are ill-placed IMHO: #+PROPERTY: var foo="Hello #+PROPERTY: var+ world" Though, they're well taken into account: #+begin_src emacs-lisp foo #+end_src #+results: : Hello world These lines have even wiped the definition of =bar= (because of the use of =var= without any =+=): #+begin_src emacs-lisp (+ foo bar) #+end_src returns the error "Symbol's value as variable is void: bar." Best regards, Seb -- Sebastien Vauban ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: About the use of PROPERTY "meta lines"... 2011-12-29 8:58 About the use of PROPERTY "meta lines" Sebastien Vauban @ 2012-01-02 17:39 ` Eric Schulte 2012-01-03 7:42 ` Sebastien Vauban 0 siblings, 1 reply; 8+ messages in thread From: Eric Schulte @ 2012-01-02 17:39 UTC (permalink / raw To: Sebastien Vauban; +Cc: emacs-orgmode "Sebastien Vauban" <wxhgmqzgwmuf@spammotel.com> writes: > #+TITLE: Properties > #+AUTHOR: Seb Vauban > #+PROPERTY: var foo=1 > #+PROPERTY: var+ bar=2 > > * Abstract > > IIUC, properties are set in this way: > > - on a file basis, before any heading, through the =PROPERTY= keyword, > - on a subtree basis, through the =PROPERTIES= block. > > My comprehension is that the =PROPERTY= keyword may not be used inside "trees", > and should be ignored if that would happen. > While it is not normal usage, I think that it is legal for #+PROPERTY: lines (or #+Option: lines etc...) to appear inside of subtrees. Best -- Eric > > The following example shows that either: > > - I'm wrong to think so, > - there is a bug. > > What is the right assumption here? > > * Subtree > > Being located in a subtree, the following lines are ill-placed IMHO: > > #+PROPERTY: var foo="Hello > #+PROPERTY: var+ world" > > Though, they're well taken into account: > > #+begin_src emacs-lisp > foo > #+end_src > > #+results: > : Hello world > > These lines have even wiped the definition of =bar= (because of the use of =var= > without any =+=): > > #+begin_src emacs-lisp > (+ foo bar) > #+end_src > > returns the error "Symbol's value as variable is void: bar." > > Best regards, > Seb -- Eric Schulte http://cs.unm.edu/~eschulte/ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: About the use of PROPERTY "meta lines"... 2012-01-02 17:39 ` Eric Schulte @ 2012-01-03 7:42 ` Sebastien Vauban 2012-01-06 7:28 ` Eric Schulte 0 siblings, 1 reply; 8+ messages in thread From: Sebastien Vauban @ 2012-01-03 7:42 UTC (permalink / raw To: emacs-orgmode-mXXj517/zsQ Hi Eric and all, Eric Schulte wrote: > "Sebastien Vauban" <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> writes: > >> #+TITLE: Properties >> #+AUTHOR: Seb Vauban >> #+PROPERTY: var foo=1 >> #+PROPERTY: var+ bar=2 >> >> * Abstract >> >> IIUC, properties are set in this way: >> >> - on a file basis, before any heading, through the =PROPERTY= keyword, >> - on a subtree basis, through the =PROPERTIES= block. >> >> My comprehension is that the =PROPERTY= keyword may not be used inside "trees", >> and should be ignored if that would happen. > > While it is not normal usage, I think that it is legal for #+PROPERTY: > lines (or #+Option: lines etc...) to appear inside of subtrees. I realize this is not especially a Babel question, but more a Org core question... Thanks for your answer -- which generates a new one, though: what is then the expected *semantics* of such a construct? There are at least 3 different views on such a construct: putting a PROPERTY line inside a subtree... - ... resets some values from that point up to the end of the subtree - ... resets some values from that point up to the end of the buffer - ... defines some values which can have already been by the subtree Best regards, Seb >> The following example shows that either: >> >> - I'm wrong to think so, >> - there is a bug. >> >> What is the right assumption here? >> >> * Subtree >> >> Being located in a subtree, the following lines are ill-placed IMHO: >> >> #+PROPERTY: var foo="Hello >> #+PROPERTY: var+ world" >> >> Though, they're well taken into account: >> >> #+begin_src emacs-lisp >> foo >> #+end_src >> >> #+results: >> : Hello world >> >> These lines have even wiped the definition of =bar= (because of the use of =var= >> without any =+=): >> >> #+begin_src emacs-lisp >> (+ foo bar) >> #+end_src >> >> returns the error "Symbol's value as variable is void: bar." -- Sebastien Vauban ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: About the use of PROPERTY "meta lines"... 2012-01-03 7:42 ` Sebastien Vauban @ 2012-01-06 7:28 ` Eric Schulte 2012-01-06 7:57 ` Torsten Wagner 0 siblings, 1 reply; 8+ messages in thread From: Eric Schulte @ 2012-01-06 7:28 UTC (permalink / raw To: Sebastien Vauban; +Cc: emacs-orgmode "Sebastien Vauban" <wxhgmqzgwmuf@spammotel.com> writes: > Hi Eric and all, > > Eric Schulte wrote: >> "Sebastien Vauban" <wxhgmqzgwmuf@spammotel.com> writes: >> >>> #+TITLE: Properties >>> #+AUTHOR: Seb Vauban >>> #+PROPERTY: var foo=1 >>> #+PROPERTY: var+ bar=2 >>> >>> * Abstract >>> >>> IIUC, properties are set in this way: >>> >>> - on a file basis, before any heading, through the =PROPERTY= keyword, >>> - on a subtree basis, through the =PROPERTIES= block. >>> >>> My comprehension is that the =PROPERTY= keyword may not be used inside "trees", >>> and should be ignored if that would happen. >> >> While it is not normal usage, I think that it is legal for #+PROPERTY: >> lines (or #+Option: lines etc...) to appear inside of subtrees. > > I realize this is not especially a Babel question, but more a Org core > question... > > Thanks for your answer -- which generates a new one, though: what is then the > expected *semantics* of such a construct? > > There are at least 3 different views on such a construct: putting a PROPERTY > line inside a subtree... > > - ... resets some values from that point up to the end of the subtree > - ... resets some values from that point up to the end of the buffer > - ... defines some values which can have already been by the subtree > I agree this is murky and whatever behavior we want should be clearly thought out and documented in the manual. I would argue that you missed another possible semantics, the simple semantics which are currently implemented in which a property line *anywhere* in a buffer sets a global property. Cheers, > > Best regards, > Seb > >>> The following example shows that either: >>> >>> - I'm wrong to think so, >>> - there is a bug. >>> >>> What is the right assumption here? >>> >>> * Subtree >>> >>> Being located in a subtree, the following lines are ill-placed IMHO: >>> >>> #+PROPERTY: var foo="Hello >>> #+PROPERTY: var+ world" >>> >>> Though, they're well taken into account: >>> >>> #+begin_src emacs-lisp >>> foo >>> #+end_src >>> >>> #+results: >>> : Hello world >>> >>> These lines have even wiped the definition of =bar= (because of the use of =var= >>> without any =+=): >>> >>> #+begin_src emacs-lisp >>> (+ foo bar) >>> #+end_src >>> >>> returns the error "Symbol's value as variable is void: bar." -- Eric Schulte http://cs.unm.edu/~eschulte/ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: About the use of PROPERTY "meta lines"... 2012-01-06 7:28 ` Eric Schulte @ 2012-01-06 7:57 ` Torsten Wagner 2012-01-06 17:13 ` cberry 2012-01-06 18:07 ` Eric Schulte 0 siblings, 2 replies; 8+ messages in thread From: Torsten Wagner @ 2012-01-06 7:57 UTC (permalink / raw To: Eric Schulte; +Cc: Sebastien Vauban, emacs-orgmode Hmm... but this point is really interesting at least worse to write down in the manual. From my understanding a #+PROPERTY: var bar=2 sets bar globally to 2 somewhere and many lines and headers later #+PROPERTY: var bar=5 would change this value to 5 for either the rest of the file or until a new assignment is given... in that way a property line would be an tree-independent global variable in contrast, a property-block is only valid of the given tree (and subtrees?). This brings up the question if there is a need for #+PROPERTY: const bar=2 which would behave exactly the same like var but issue an error message if someone tries to set it again somewhere in the file. Torsten On 01/06/2012 04:28 PM, Eric Schulte wrote: > "Sebastien Vauban"<wxhgmqzgwmuf@spammotel.com> writes: > >> Hi Eric and all, >> >> Eric Schulte wrote: >>> "Sebastien Vauban"<wxhgmqzgwmuf@spammotel.com> writes: >>> >>>> #+TITLE: Properties >>>> #+AUTHOR: Seb Vauban >>>> #+PROPERTY: var foo=1 >>>> #+PROPERTY: var+ bar=2 >>>> >>>> * Abstract >>>> >>>> IIUC, properties are set in this way: >>>> >>>> - on a file basis, before any heading, through the =PROPERTY= keyword, >>>> - on a subtree basis, through the =PROPERTIES= block. >>>> >>>> My comprehension is that the =PROPERTY= keyword may not be used inside "trees", >>>> and should be ignored if that would happen. >>> >>> While it is not normal usage, I think that it is legal for #+PROPERTY: >>> lines (or #+Option: lines etc...) to appear inside of subtrees. >> >> I realize this is not especially a Babel question, but more a Org core >> question... >> >> Thanks for your answer -- which generates a new one, though: what is then the >> expected *semantics* of such a construct? >> >> There are at least 3 different views on such a construct: putting a PROPERTY >> line inside a subtree... >> >> - ... resets some values from that point up to the end of the subtree >> - ... resets some values from that point up to the end of the buffer >> - ... defines some values which can have already been by the subtree >> > > I agree this is murky and whatever behavior we want should be clearly > thought out and documented in the manual. I would argue that you missed > another possible semantics, the simple semantics which are currently > implemented in which a property line *anywhere* in a buffer sets a > global property. > > Cheers, > >> >> Best regards, >> Seb >> >>>> The following example shows that either: >>>> >>>> - I'm wrong to think so, >>>> - there is a bug. >>>> >>>> What is the right assumption here? >>>> >>>> * Subtree >>>> >>>> Being located in a subtree, the following lines are ill-placed IMHO: >>>> >>>> #+PROPERTY: var foo="Hello >>>> #+PROPERTY: var+ world" >>>> >>>> Though, they're well taken into account: >>>> >>>> #+begin_src emacs-lisp >>>> foo >>>> #+end_src >>>> >>>> #+results: >>>> : Hello world >>>> >>>> These lines have even wiped the definition of =bar= (because of the use of =var= >>>> without any =+=): >>>> >>>> #+begin_src emacs-lisp >>>> (+ foo bar) >>>> #+end_src >>>> >>>> returns the error "Symbol's value as variable is void: bar." > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: About the use of PROPERTY "meta lines"... 2012-01-06 7:57 ` Torsten Wagner @ 2012-01-06 17:13 ` cberry 2012-01-06 18:22 ` Eric Schulte 2012-01-06 18:07 ` Eric Schulte 1 sibling, 1 reply; 8+ messages in thread From: cberry @ 2012-01-06 17:13 UTC (permalink / raw To: emacs-orgmode Torsten Wagner <torsten.wagner@gmail.com> writes: > Hmm... > but this point is really interesting at least worse to write down in > the manual. > From my understanding a > #+PROPERTY: var bar=2 > sets bar globally to 2 > somewhere and many lines and headers later > #+PROPERTY: var bar=5 > would change this value to 5 for either the rest of the file or until > a new assignment is given... I think the behavior is trickier than that. This file: ,---- | #+property: var foo=1 | #+property: var+ bar=2 | | #+begin_src emacs-lisp :results value :exports both | (+ foo bar) | #+end_src | | #+property: var foo=10 | #+property: var+ bar=20 | | | #+begin_src emacs-lisp :results value :exports both | (+ foo bar) | #+end_src `---- Yields '30' after each block upon C-c C-e A, suggesting it is the last #+property setting the global property. But this one: ,---- | #+property: var foo=1 | #+property: var+ bar=2 | | #+begin_src emacs-lisp :results value :exports both | (+ foo bar) | #+end_src | | #+property: var foo=10 | | #+begin_src emacs-lisp :results value :exports both | (+ foo bar) | #+end_src `---- Yields '3' after each block. So the global behavior of the second 'var foo' line depends on there baing a subsequent 'var+' line. Is this really the expected behavior? (Org-mode version 7.8.03) Chuck > in that way a property line would be an tree-independent global variable > > in contrast, a property-block is only valid of the given tree (and > subtrees?). > > This brings up the question if there is a need for > > #+PROPERTY: const bar=2 > > which would behave exactly the same like var but issue an error > message if someone tries to set it again somewhere in the file. > > Torsten > > > > On 01/06/2012 04:28 PM, Eric Schulte wrote: >> "Sebastien Vauban"<wxhgmqzgwmuf@spammotel.com> writes: >> >>> Hi Eric and all, >>> >>> Eric Schulte wrote: >>>> "Sebastien Vauban"<wxhgmqzgwmuf@spammotel.com> writes: >>>> >>>>> #+TITLE: Properties >>>>> #+AUTHOR: Seb Vauban >>>>> #+PROPERTY: var foo=1 >>>>> #+PROPERTY: var+ bar=2 >>>>> >>>>> * Abstract >>>>> >>>>> IIUC, properties are set in this way: >>>>> >>>>> - on a file basis, before any heading, through the =PROPERTY= keyword, >>>>> - on a subtree basis, through the =PROPERTIES= block. >>>>> >>>>> My comprehension is that the =PROPERTY= keyword may not be used inside "trees", >>>>> and should be ignored if that would happen. >>>> >>>> While it is not normal usage, I think that it is legal for #+PROPERTY: >>>> lines (or #+Option: lines etc...) to appear inside of subtrees. >>> >>> I realize this is not especially a Babel question, but more a Org core >>> question... >>> >>> Thanks for your answer -- which generates a new one, though: what is then the >>> expected *semantics* of such a construct? >>> >>> There are at least 3 different views on such a construct: putting a PROPERTY >>> line inside a subtree... >>> >>> - ... resets some values from that point up to the end of the subtree >>> - ... resets some values from that point up to the end of the buffer >>> - ... defines some values which can have already been by the subtree >>> >> >> I agree this is murky and whatever behavior we want should be clearly >> thought out and documented in the manual. I would argue that you missed >> another possible semantics, the simple semantics which are currently >> implemented in which a property line *anywhere* in a buffer sets a >> global property. >> >> Cheers, >> >>> >>> Best regards, >>> Seb >>> >>>>> The following example shows that either: >>>>> >>>>> - I'm wrong to think so, >>>>> - there is a bug. >>>>> >>>>> What is the right assumption here? >>>>> >>>>> * Subtree >>>>> >>>>> Being located in a subtree, the following lines are ill-placed IMHO: >>>>> >>>>> #+PROPERTY: var foo="Hello >>>>> #+PROPERTY: var+ world" >>>>> >>>>> Though, they're well taken into account: >>>>> >>>>> #+begin_src emacs-lisp >>>>> foo >>>>> #+end_src >>>>> >>>>> #+results: >>>>> : Hello world >>>>> >>>>> These lines have even wiped the definition of =bar= (because of the use of =var= >>>>> without any =+=): >>>>> >>>>> #+begin_src emacs-lisp >>>>> (+ foo bar) >>>>> #+end_src >>>>> >>>>> returns the error "Symbol's value as variable is void: bar." ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: About the use of PROPERTY "meta lines"... 2012-01-06 17:13 ` cberry @ 2012-01-06 18:22 ` Eric Schulte 0 siblings, 0 replies; 8+ messages in thread From: Eric Schulte @ 2012-01-06 18:22 UTC (permalink / raw To: cberry; +Cc: emacs-orgmode [-- Attachment #1: Type: text/plain, Size: 1649 bytes --] cberry@tajo.ucsd.edu writes: > Torsten Wagner <torsten.wagner@gmail.com> writes: > >> Hmm... >> but this point is really interesting at least worse to write down in >> the manual. >> From my understanding a >> #+PROPERTY: var bar=2 >> sets bar globally to 2 >> somewhere and many lines and headers later >> #+PROPERTY: var bar=5 >> would change this value to 5 for either the rest of the file or until >> a new assignment is given... > > I think the behavior is trickier than that. > > This file: > > ,---- > | #+property: var foo=1 > | #+property: var+ bar=2 > | > | #+begin_src emacs-lisp :results value :exports both > | (+ foo bar) > | #+end_src > | > | #+property: var foo=10 > | #+property: var+ bar=20 > | > | > | #+begin_src emacs-lisp :results value :exports both > | (+ foo bar) > | #+end_src > `---- > > Yields '30' after each block upon C-c C-e A, suggesting it is the last > #+property setting the global property. > This makes sense > > But this one: > > ,---- > | #+property: var foo=1 > | #+property: var+ bar=2 > | > | #+begin_src emacs-lisp :results value :exports both > | (+ foo bar) > | #+end_src > | > | #+property: var foo=10 > | > | #+begin_src emacs-lisp :results value :exports both > | (+ foo bar) > | #+end_src > `---- > > Yields '3' after each block. > > So the global behavior of the second 'var foo' line depends on there > baing a subsequent 'var+' line. > > Is this really the expected behavior? > No, the above behavior is not expected. I've just pushed up a patch which results in the following behavior, in which the last specification of a property overwrites any previous specifications. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: overwriting-properties.org --] [-- Type: text/x-org, Size: 181 bytes --] #+property: something foo=1 #+property: something+ bar=2 #+property: something foo=10 #+begin_src emacs-lisp org-file-properties #+end_src #+results: | (something . foo=10) | [-- Attachment #3: Type: text/plain, Size: 3133 bytes --] Best, > > (Org-mode version 7.8.03) > > Chuck > > >> in that way a property line would be an tree-independent global variable >> >> in contrast, a property-block is only valid of the given tree (and >> subtrees?). >> >> This brings up the question if there is a need for >> >> #+PROPERTY: const bar=2 >> >> which would behave exactly the same like var but issue an error >> message if someone tries to set it again somewhere in the file. >> >> Torsten >> >> >> >> On 01/06/2012 04:28 PM, Eric Schulte wrote: >>> "Sebastien Vauban"<wxhgmqzgwmuf@spammotel.com> writes: >>> >>>> Hi Eric and all, >>>> >>>> Eric Schulte wrote: >>>>> "Sebastien Vauban"<wxhgmqzgwmuf@spammotel.com> writes: >>>>> >>>>>> #+TITLE: Properties >>>>>> #+AUTHOR: Seb Vauban >>>>>> #+PROPERTY: var foo=1 >>>>>> #+PROPERTY: var+ bar=2 >>>>>> >>>>>> * Abstract >>>>>> >>>>>> IIUC, properties are set in this way: >>>>>> >>>>>> - on a file basis, before any heading, through the =PROPERTY= keyword, >>>>>> - on a subtree basis, through the =PROPERTIES= block. >>>>>> >>>>>> My comprehension is that the =PROPERTY= keyword may not be used inside "trees", >>>>>> and should be ignored if that would happen. >>>>> >>>>> While it is not normal usage, I think that it is legal for #+PROPERTY: >>>>> lines (or #+Option: lines etc...) to appear inside of subtrees. >>>> >>>> I realize this is not especially a Babel question, but more a Org core >>>> question... >>>> >>>> Thanks for your answer -- which generates a new one, though: what is then the >>>> expected *semantics* of such a construct? >>>> >>>> There are at least 3 different views on such a construct: putting a PROPERTY >>>> line inside a subtree... >>>> >>>> - ... resets some values from that point up to the end of the subtree >>>> - ... resets some values from that point up to the end of the buffer >>>> - ... defines some values which can have already been by the subtree >>>> >>> >>> I agree this is murky and whatever behavior we want should be clearly >>> thought out and documented in the manual. I would argue that you missed >>> another possible semantics, the simple semantics which are currently >>> implemented in which a property line *anywhere* in a buffer sets a >>> global property. >>> >>> Cheers, >>> >>>> >>>> Best regards, >>>> Seb >>>> >>>>>> The following example shows that either: >>>>>> >>>>>> - I'm wrong to think so, >>>>>> - there is a bug. >>>>>> >>>>>> What is the right assumption here? >>>>>> >>>>>> * Subtree >>>>>> >>>>>> Being located in a subtree, the following lines are ill-placed IMHO: >>>>>> >>>>>> #+PROPERTY: var foo="Hello >>>>>> #+PROPERTY: var+ world" >>>>>> >>>>>> Though, they're well taken into account: >>>>>> >>>>>> #+begin_src emacs-lisp >>>>>> foo >>>>>> #+end_src >>>>>> >>>>>> #+results: >>>>>> : Hello world >>>>>> >>>>>> These lines have even wiped the definition of =bar= (because of the use of =var= >>>>>> without any =+=): >>>>>> >>>>>> #+begin_src emacs-lisp >>>>>> (+ foo bar) >>>>>> #+end_src >>>>>> >>>>>> returns the error "Symbol's value as variable is void: bar." > > -- Eric Schulte http://cs.unm.edu/~eschulte/ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: About the use of PROPERTY "meta lines"... 2012-01-06 7:57 ` Torsten Wagner 2012-01-06 17:13 ` cberry @ 2012-01-06 18:07 ` Eric Schulte 1 sibling, 0 replies; 8+ messages in thread From: Eric Schulte @ 2012-01-06 18:07 UTC (permalink / raw To: Torsten Wagner; +Cc: Sebastien Vauban, emacs-orgmode Torsten Wagner <torsten.wagner@gmail.com> writes: > Hmm... > but this point is really interesting at least worse to write down in the > manual. > From my understanding a > #+PROPERTY: var bar=2 > sets bar globally to 2 > somewhere and many lines and headers later > #+PROPERTY: var bar=5 > would change this value to 5 for either the rest of the file or until a > new assignment is given... > in that way a property line would be an tree-independent global variable > Two points here. 1) currently #+property: lines are global and affect the entire file regardless of where they are located in the file, there is no notion of different values before or after a particular #+property: line. So in the case above I would expect the var property to have the value bar=5 as the later line will most likely overwrite the former line. 2) there is nothing special about the "var" property which could make it behave differently than other properties. > > in contrast, a property-block is only valid of the given tree (and > subtrees?). > true > > This brings up the question if there is a need for > > #+PROPERTY: const bar=2 > > which would behave exactly the same like var but issue an error message > if someone tries to set it again somewhere in the file. > No, currently *all* properties are set in the same way regardless of their name, and I think this is a simplification worth keeping. Best, > > Torsten > > > > On 01/06/2012 04:28 PM, Eric Schulte wrote: >> "Sebastien Vauban"<wxhgmqzgwmuf@spammotel.com> writes: >> >>> Hi Eric and all, >>> >>> Eric Schulte wrote: >>>> "Sebastien Vauban"<wxhgmqzgwmuf@spammotel.com> writes: >>>> >>>>> #+TITLE: Properties >>>>> #+AUTHOR: Seb Vauban >>>>> #+PROPERTY: var foo=1 >>>>> #+PROPERTY: var+ bar=2 >>>>> >>>>> * Abstract >>>>> >>>>> IIUC, properties are set in this way: >>>>> >>>>> - on a file basis, before any heading, through the =PROPERTY= keyword, >>>>> - on a subtree basis, through the =PROPERTIES= block. >>>>> >>>>> My comprehension is that the =PROPERTY= keyword may not be used inside "trees", >>>>> and should be ignored if that would happen. >>>> >>>> While it is not normal usage, I think that it is legal for #+PROPERTY: >>>> lines (or #+Option: lines etc...) to appear inside of subtrees. >>> >>> I realize this is not especially a Babel question, but more a Org core >>> question... >>> >>> Thanks for your answer -- which generates a new one, though: what is then the >>> expected *semantics* of such a construct? >>> >>> There are at least 3 different views on such a construct: putting a PROPERTY >>> line inside a subtree... >>> >>> - ... resets some values from that point up to the end of the subtree >>> - ... resets some values from that point up to the end of the buffer >>> - ... defines some values which can have already been by the subtree >>> >> >> I agree this is murky and whatever behavior we want should be clearly >> thought out and documented in the manual. I would argue that you missed >> another possible semantics, the simple semantics which are currently >> implemented in which a property line *anywhere* in a buffer sets a >> global property. >> >> Cheers, >> >>> >>> Best regards, >>> Seb >>> >>>>> The following example shows that either: >>>>> >>>>> - I'm wrong to think so, >>>>> - there is a bug. >>>>> >>>>> What is the right assumption here? >>>>> >>>>> * Subtree >>>>> >>>>> Being located in a subtree, the following lines are ill-placed IMHO: >>>>> >>>>> #+PROPERTY: var foo="Hello >>>>> #+PROPERTY: var+ world" >>>>> >>>>> Though, they're well taken into account: >>>>> >>>>> #+begin_src emacs-lisp >>>>> foo >>>>> #+end_src >>>>> >>>>> #+results: >>>>> : Hello world >>>>> >>>>> These lines have even wiped the definition of =bar= (because of the use of =var= >>>>> without any =+=): >>>>> >>>>> #+begin_src emacs-lisp >>>>> (+ foo bar) >>>>> #+end_src >>>>> >>>>> returns the error "Symbol's value as variable is void: bar." >> > -- Eric Schulte http://cs.unm.edu/~eschulte/ ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2012-01-06 18:23 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-12-29 8:58 About the use of PROPERTY "meta lines" Sebastien Vauban 2012-01-02 17:39 ` Eric Schulte 2012-01-03 7:42 ` Sebastien Vauban 2012-01-06 7:28 ` Eric Schulte 2012-01-06 7:57 ` Torsten Wagner 2012-01-06 17:13 ` cberry 2012-01-06 18:22 ` Eric Schulte 2012-01-06 18:07 ` Eric Schulte
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.