cberry@tajo.ucsd.edu writes: > Torsten Wagner 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.