Re: [O] Setting multiple variables for code blocks in one property drawer

2012-02-26 Thread Viktor Rosenfeld
Hi Eric,

Eric Schulte wrote:

 However try replacing
  :var: foo=a
 with
  :var+: foo=a
 which is valid and should work for your use case below.

I'm not sure if I understood you correctly, but even if I replace var
with var+ in the child's property drawer, the value of bar that is set
in the parent task is not available in the child task.

Cheers,
Viktor

 
 There are still some lingering issues with inheritance and Org-mode
 properties which I may try to address one of these days.
 
 Cheers,
 
 
  Cheers,
  Viktor
 
  * Parent task
  :PROPERTIES:
  :var: foo=1
  :var+: bar=2
  :END:
  ** Child task without own properties
 
  #+BEGIN_SRC sh
  echo foo: $foo
  echo bar: $bar
  #+END_SRC
 
  #+RESULTS:
  | foo: | 1 |
  | bar: | 2 |
 
  ** Child task with own properties
  :PROPERTIES:
  :var: foo=a
  :END:
 
  #+BEGIN_SRC sh
  echo foo: $foo
  echo bar: $bar
  #+END_SRC
 
  #+RESULTS:
  | foo: | a |
  | bar: |   |
 
 
 
 -- 
 Eric Schulte
 http://cs.unm.edu/~eschulte/
 



Re: [O] Setting multiple variables for code blocks in one property drawer

2012-02-25 Thread Eric Schulte
Hi,

Viktor Rosenfeld listuse...@googlemail.com writes:

 Hi Eric,

 Eric Schulte wrote:

 Viktor Rosenfeld listuse...@googlemail.com writes:
 
  Hi Eric,
 
  thanks for your input. I just pulled the latest code from git and while
  my original example works, the following does not:
 
  :PROPERTIES:
  :var: foo=1
  :var+: bar=2 
  :var+: baz=3
  :END:
 
  #+BEGIN_SRC sh
  echo foo: $foo
  echo bar: $bar
  echo baz: $baz
  #+END_SRC
 
 
 Thanks for reporting, I've just pushed up a fix for this bug.

 Thanks for your fix. The above example now works for me.

 However, I've noticed a problem with inheriting var properties. They are
 inherited in a child task only if the child task itself has no var
 property. Is this the intended behavior? See the example below.


Yes,

The example below is the intended behavior.  The property mechanism is
not tailored to variable setting, but is rather a general mechanism for
the concatenation of property strings.  Any property specification
unless it is postfixed with a + will /reset/ the value of that
property to its current value.

However try replacing
 :var: foo=a
with
 :var+: foo=a
which is valid and should work for your use case below.

There are still some lingering issues with inheritance and Org-mode
properties which I may try to address one of these days.

Cheers,


 Cheers,
 Viktor

 * Parent task
 :PROPERTIES:
 :var: foo=1
 :var+: bar=2
 :END:
 ** Child task without own properties

 #+BEGIN_SRC sh
 echo foo: $foo
 echo bar: $bar
 #+END_SRC

 #+RESULTS:
 | foo: | 1 |
 | bar: | 2 |

 ** Child task with own properties
 :PROPERTIES:
 :var: foo=a
 :END:

 #+BEGIN_SRC sh
 echo foo: $foo
 echo bar: $bar
 #+END_SRC

 #+RESULTS:
 | foo: | a |
 | bar: |   |



-- 
Eric Schulte
http://cs.unm.edu/~eschulte/



Re: [O] Setting multiple variables for code blocks in one property drawer

2012-02-20 Thread Viktor Rosenfeld
Hi Eric,

Eric Schulte wrote:

 Viktor Rosenfeld listuse...@googlemail.com writes:
 
  Hi Eric,
 
  thanks for your input. I just pulled the latest code from git and while
  my original example works, the following does not:
 
  :PROPERTIES:
  :var: foo=1
  :var+: bar=2 
  :var+: baz=3
  :END:
 
  #+BEGIN_SRC sh
  echo foo: $foo
  echo bar: $bar
  echo baz: $baz
  #+END_SRC
 
 
 Thanks for reporting, I've just pushed up a fix for this bug.

Thanks for your fix. The above example now works for me.

However, I've noticed a problem with inheriting var properties. They are
inherited in a child task only if the child task itself has no var
property. Is this the intended behavior? See the example below.

Cheers,
Viktor

* Parent task
:PROPERTIES:
:var: foo=1
:var+: bar=2
:END:
** Child task without own properties

#+BEGIN_SRC sh
echo foo: $foo
echo bar: $bar
#+END_SRC

#+RESULTS:
| foo: | 1 |
| bar: | 2 |

** Child task with own properties
:PROPERTIES:
:var: foo=a
:END:

#+BEGIN_SRC sh
echo foo: $foo
echo bar: $bar
#+END_SRC

#+RESULTS:
| foo: | a |
| bar: |   |




Re: [O] Setting multiple variables for code blocks in one property drawer

2012-02-18 Thread Eric Schulte
Viktor Rosenfeld listuse...@googlemail.com writes:

 Hi Eric,

 thanks for your input. I just pulled the latest code from git and while
 my original example works, the following does not:

 :PROPERTIES:
 :var: foo=1
 :var+: bar=2 
 :var+: baz=3
 :END:

 #+BEGIN_SRC sh
 echo foo: $foo
 echo bar: $bar
 echo baz: $baz
 #+END_SRC


Thanks for reporting, I've just pushed up a fix for this bug.


 There also appears to be a difference between quoted and unquoted
 values and commatas. E.g. the following works

 :PROPERTIES:
 :var: foo=1
 :var+: bar=2, baz=3
 :END:

 #+BEGIN_SRC sh
 echo foo: $foo
 echo bar: $bar
 echo baz: $baz
 #+END_SRC

 If I remove the quotes around 2 I get the following error: 

   ad-Orig-error: reference '2,' not found in this buffer

 On the other hand, the following version does not produce an error, but
 the value of $baz is not set.

 :PROPERTIES:
 :var: foo=1
 :var+: bar=2,
 :var+: baz=3
 :END:

 #+BEGIN_SRC sh
 echo foo: $foo
 echo bar: $bar
 echo baz: $baz
 #+END_SRC


Yes, the comma results in the 2 not being parsed as a number, which
means that it will then try to be understood by Babel (which thinks
first of a reference unless the value is wrapped in quotes indicating it
is a string).  The moral is to not give references purely numerical
names.

Best,


 Cheers,
 Viktor

 Eric Schulte wrote:

 Viktor Rosenfeld listuse...@googlemail.com writes:
 
  Hi,
 
  after following the discussion about the new BABEL syntax I was under
  the impression that the following should work to set two variables in
  one PROPERTIES drawer:
 
  :PROPERTIES:
  :var: foo=1
  :var+: bar=2
  :END:
 
  However, the definition of bar is ignored. It turns out that there can
  only be one :var: or :var+: entry in a drawer and the latter can only be
  used to append to inherited entries, but not to those defined in the
  same drawer. Is this the intended behavior? How would I define multiple
  variables in a drawer (except for putting them all on one line)?
 
  Thanks,
  Viktor
 
 
 You are correct, I believe this is a bug.  I've just pushed up a fix, so
 your example above should now work as expected.
 
 Thanks,
 
 -- 
 Eric Schulte
 http://cs.unm.edu/~eschulte/
 


-- 
Eric Schulte
http://cs.unm.edu/~eschulte/



Re: [O] Setting multiple variables for code blocks in one property drawer

2012-02-15 Thread Eric Schulte
Viktor Rosenfeld listuse...@googlemail.com writes:

 Hi,

 after following the discussion about the new BABEL syntax I was under
 the impression that the following should work to set two variables in
 one PROPERTIES drawer:

 :PROPERTIES:
 :var: foo=1
 :var+: bar=2
 :END:

 However, the definition of bar is ignored. It turns out that there can
 only be one :var: or :var+: entry in a drawer and the latter can only be
 used to append to inherited entries, but not to those defined in the
 same drawer. Is this the intended behavior? How would I define multiple
 variables in a drawer (except for putting them all on one line)?

 Thanks,
 Viktor


You are correct, I believe this is a bug.  I've just pushed up a fix, so
your example above should now work as expected.

Thanks,

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/



Re: [O] Setting multiple variables for code blocks in one property drawer

2012-02-15 Thread Viktor Rosenfeld
Hi Eric,

thanks for your input. I just pulled the latest code from git and while
my original example works, the following does not:

:PROPERTIES:
:var: foo=1
:var+: bar=2 
:var+: baz=3
:END:

#+BEGIN_SRC sh
echo foo: $foo
echo bar: $bar
echo baz: $baz
#+END_SRC

If I evaluate the source block I get the following error in the messages
buffer: 

  =: Args out of range: , 0

The following works:

:PROPERTIES:
:var: foo=1
:var+: bar=2 baz=3
:END:

#+BEGIN_SRC sh
echo foo: $foo
echo bar: $bar
echo baz: $baz
#+END_SRC

There also appears to be a difference between quoted and unquoted
values and commatas. E.g. the following works

:PROPERTIES:
:var: foo=1
:var+: bar=2, baz=3
:END:

#+BEGIN_SRC sh
echo foo: $foo
echo bar: $bar
echo baz: $baz
#+END_SRC

If I remove the quotes around 2 I get the following error: 

  ad-Orig-error: reference '2,' not found in this buffer

On the other hand, the following version does not produce an error, but
the value of $baz is not set.

:PROPERTIES:
:var: foo=1
:var+: bar=2,
:var+: baz=3
:END:

#+BEGIN_SRC sh
echo foo: $foo
echo bar: $bar
echo baz: $baz
#+END_SRC

Cheers,
Viktor

Eric Schulte wrote:

 Viktor Rosenfeld listuse...@googlemail.com writes:
 
  Hi,
 
  after following the discussion about the new BABEL syntax I was under
  the impression that the following should work to set two variables in
  one PROPERTIES drawer:
 
  :PROPERTIES:
  :var: foo=1
  :var+: bar=2
  :END:
 
  However, the definition of bar is ignored. It turns out that there can
  only be one :var: or :var+: entry in a drawer and the latter can only be
  used to append to inherited entries, but not to those defined in the
  same drawer. Is this the intended behavior? How would I define multiple
  variables in a drawer (except for putting them all on one line)?
 
  Thanks,
  Viktor
 
 
 You are correct, I believe this is a bug.  I've just pushed up a fix, so
 your example above should now work as expected.
 
 Thanks,
 
 -- 
 Eric Schulte
 http://cs.unm.edu/~eschulte/