On Fri, Oct 21, 2011 at 8:35 PM, Rainer M Krug <r.m.krug@gmail.com> wrote:


On Fri, Oct 21, 2011 at 7:37 PM, Eric Schulte <schulte.eric@gmail.com> wrote:
Christian Moe <mail@christianmoe.com> writes:

> Hi again,
>
> I can quickly think of two advantages of the late lamented (if only by
> me) #+BABEL header over using properties.
>
> 1. Allowing you to specify multiple buffer-wide options on the same
> line (keeping things short), in the same colon :syntax as used in a
> src block header (keeping things consistent and easy to copy back and
> forth). None of this makes a substantive difference.
>

Understood, the new method will require multiple lines.  Everything is a
trade-off...

>
> 2. Allowing you to pass multiple buffer-wide arguments with :var. This
> could make a substantive difference in some applications. The
> following will work:
>
>    #+BABEL: :var euro=1.3791 :var salestax=.15
>
> The following will not, since it tries to set the same property:
>
>    #+PROPERTY: var euro=1.3791
>    #+PROPERTY: var salestax=.15
>
> If BABEL is dropped for PROPERTY, it would be good for the :var:
> property to support multiple arguments (comma-separated would be good
> for consistency with passing arguments through the SRCNAME). E.g.:
>
>    #+PROPERTY: var euro=1.3791, salestax=.15
>
> I think I'd like this better in any case.
>

Nice idea.  This same issue with "var" arose when we first started
allowing header arguments to be specified inside subtree properties.
I've just implemented your suggestion so the following are now possible.

#+PROPERTY: var foo=1, bar=2
#+PROPERTY: cache yes

#+begin_src emacs-lisp
 (+ foo bar)
#+end_src

#+results[be32e67491d4e92f75769aebe423c20ca01626fe]:
: 3


Will

#+PROPERTY: var foo=1
#+PROPERTY: var bar=2

also work, or result in one variable not signed?

Rainer

Just to add to it: at the moment I have e.g:

#+BABEL: :var MAINVERSION=0
#+BABEL: :var SVNVERSION=(vc-working-revision (buffer-file-name))
#+BABEL: :var SVNSTATE=( symbol-name (vc-state (or (buffer-file-name) org-current-export-file)))
#+BABEL: :var SVNSTATENUM=(if (eq (vc-state (or (buffer-file-name) org-current-export-file)) 'up-to-date) 0 13)
#+BABEL: :var DISP_PACKAGE="seedDisp_0.4-13.tar.gz"

which would look horrible in one line and a nightmare to edit.

Any suggestions how this cold be changed?

In addition: I would like to have a warning if #+BABEL is present in the org file, so that one remembers that it has to be changed.

Cheers,

Rainer


 
and

#+begin_src emacs-lisp :var foo="this", bar="that"
 (concat foo " " bar)
#+end_src

#+results[3cde077efa81f1ca24a62ac264dbd5776b6e0054]:
: this that

Thanks for the suggestion and I hope the above is a sufficient
replacement for the now-missing #+BABEL: syntax.

Cheers -- Eric



--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :       +33 - (0)9 53 10 27 44
Cell:       +33 - (0)6 85 62 59 98
Fax (F):       +33 - (0)9 58 10 27 44

Fax (D):    +49 - (0)3 21 21 25 22 44

email:      Rainer@krugs.de

Skype:      RMkrug




--
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :       +33 - (0)9 53 10 27 44
Cell:       +33 - (0)6 85 62 59 98
Fax (F):       +33 - (0)9 58 10 27 44

Fax (D):    +49 - (0)3 21 21 25 22 44

email:      Rainer@krugs.de

Skype:      RMkrug