Org-mode version 7.8.09 How could this be?
I ran it in a separate, minimally configured Emacs and got the good behavior, so org-version must be lying somehow or else not all of the functions were redefined when I upgraded. I thought a reload uncompiled would take care of this. I'll restart emacs and try it again. Thanks for the sanity check. On Thu, Apr 26, 2012 at 1:59 PM, Eric Schulte <eric.schu...@gmx.com> wrote: > Neil Best <nb...@ci.uchicago.edu> writes: > >> Can sh source block take arguments? I get nothing. >> >> #+NAME: test(foo="bar") >> #+BEGIN_SRC sh :session :results output verbatim replace >> echo "1. foo is $foo" >> echo "2. foo is ${foo}" >> #+END_SRC >> >> #+RESULTS: >> : 1. foo is >> : 2. foo is >> >> >> . . . but this is fine: >> >> #+NAME: test2 >> #+BEGIN_SRC sh :var foo="bar" :session :results output verbatim >> replace >> echo "1. foo is $foo" >> echo "2. foo is ${foo}" >> #+END_SRC >> >> #+RESULTS: >> : 1. foo is bar >> : 2. foo is bar >> >> When I tried this: >> >> #+CALL: test("baz") >> >> I get "reference 'test' not found in this buffer" -- what does this >> mean? I got a similar message when I tried to define a simple call >> using an R fragment that has a session associated with it. Evaluating >> the code block with the default argument works fine, but a #+CALL: >> construct fails. Maybe this is a separate issue. >> >> I trolled the web for relevant examples or reports but found none. My >> setup is pretty much out-of-the-box. I am on Ubuntu Oneiric so sh is >> a symlink to dash. I was not aware of dash until now so I don't know >> what the implications of that are. >> >> This example may be overly trivial. My ultimate goal is to generate >> shell scripts as function of the argument and tangle them out >> something like this: >> >> #+BEGIN_SRC sh :tangle someArg.sh >> <<script("someArg")>> >> #+END_SRC >> >> So the results of the "function" will be lines of script code with >> variables already interpolated using echo and a heredoc. Note that >> test2 will not allow me to paramterize this, AFAIK. I'll have to >> write each tangle block by hand but there's a small number of them. >> If there is a more clever way I am certainly interested, but it seems >> irrelevant until I understand what is happening above. Thanks. I am >> very intrigued by LP possibilities using Org after messing with Sweave >> for a year+, so please bear with me as I cut my teeth. >> > > Hi Neil, > > Are you using the latest version of Org-mode? I ask because all of your > examples work as expected on my system, specifically I get the > following... > > Best, > > #+NAME: test(foo="bar") > #+BEGIN_SRC sh :session :results output verbatim replace > echo "1. foo is $foo" > echo "2. foo is ${foo}" > #+END_SRC > > #+RESULTS: test > : 1. foo is bar > : 2. foo is bar > > . . . but this is fine: > > #+NAME: test2 > #+BEGIN_SRC sh :var foo="bar" :session :results output verbatim > replace > echo "1. foo is $foo" > echo "2. foo is ${foo}" > #+END_SRC > > #+RESULTS: test2 > : 1. foo is bar > : 2. foo is bar > > #+RESULTS: > : 1. foo is bar > : 2. foo is bar > > When I tried this: > > #+CALL: test("baz") > > #+RESULTS: test("baz") > : 1. foo is baz > : 2. foo is baz > > > -- > Eric Schulte > http://cs.unm.edu/~eschulte/