Johan:

Maybe this one would work for you:

#+NAME: first
#+BEGIN_SRC js
function one() {
    return 1;
}
#+END_SRC


#+NAME: second
#+BEGIN_SRC js
function two() {
    return 2;
}
#+END_SRC


#+NAME: third
#+BEGIN_SRC js
function three() {
    return 3;
}
#+END_SRC


#+NAME: all
#+BEGIN_SRC sh :results output :noweb yes
echo "
<<second>>

<<first>>

function test(){ console.log('test');}

<<third>>"
#+END_SRC



#+BEGIN_SRC python :results output :var code=all
print code
#+END_SRC

#+RESULTS:
#+begin_example

function two() {
    return 2
}

function one() {
    return 1;
}

function test(){ console.log('test');}

function three() {
    return 3;
}

#+end_example


On Thu, Oct 26, 2017 at 6:17 AM Johan W. Klüwer <johan.w.klu...@gmail.com>
wrote:

> Thanks Martin,
>
> These are good suggestions, but it's not quite what I am after. In your
> second example, I would like ":var code=example" to make "code" carry the
> full (and expanded) text of the "example" block, i.e. to have
>
>   echo ls -alh
>
> as the result -- the code itself, unevaluated.
>
> Johan
>
> 2017-10-25 17:52 GMT+02:00 Martin Alsinet <mar...@alsinet.com.ar>:
>
>> Johan:
>>
>> To use expanded noweb references you can use text source blocks
>>
>> #+NAME: lscode
>> #+BEGIN_SRC *text*
>> ls -alh
>> #+END_SRC
>>
>>
>> #+NAME: example
>> #+BEGIN_SRC sh :noweb yes
>> echo <<lscode>>
>> #+END_SRC
>>
>> #+RESULTS: example
>> : ls -alh
>>
>>
>> #+BEGIN_SRC emacs-lisp :var code=example
>> (message code)
>> #+END_SRC
>>
>> #+RESULTS:
>> : ls -alh
>>
>>
>> Martín
>>
>> On Wed, Oct 25, 2017 at 10:36 AM Martin Alsinet <mar...@alsinet.com.ar>
>> wrote:
>>
>>> Johan:
>>>
>>> You can try the following:
>>>
>>> #+NAME: lscode
>>> #+BEGIN_ASCII
>>> ls -alh
>>> #+END_ASCII
>>>
>>> #+BEGIN_SRC emacs-lisp :var code=lscode
>>> (message code)
>>> #+END_SRC
>>>
>>> #+RESULTS:
>>> : ls -alh
>>>
>>> I haven't tried the noweb references, but it does return the code block
>>> in the variable.
>>>
>>>
>>> Martín
>>>
>>> On Wed, Oct 25, 2017 at 9:22 AM Johan W. Klüwer <
>>> johan.w.klu...@gmail.com> wrote:
>>>
>>>> Is there a way to assign the uninterpreted content of an executable
>>>> source block to a variable? Preferably, using a :var header argument? That
>>>> is, return the text in the block, not the result of evaluating it, and
>>>> preferably with noweb references expanded.
>>>>
>>>> "example" blocks return text the way I want, but they can't be
>>>> evaluated, and of course noweb is ruled out for them.
>>>>
>>>> The function org-babel-ref-resolve could to the job if there were a
>>>> switch to block evaluation.
>>>>
>>>>
>>>> Why this is interesting: I wish to use url-hexify-string on the text of
>>>> a named SPARQL query.
>>>>
>>>> Cheers, Johan
>>>>
>>>
>

Reply via email to