emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: noweb


From: Diego Zamboni
Subject: Re: noweb
Date: Wed, 22 Jan 2020 23:14:19 +0100

Hi Nuno,

":noweb eval" means that noweb references are only expanded during evaluation of the code, but not during export. This is why you get the literal <<DEFVARS>> references in exported output. Here are the possible values of :noweb and what they mean: https://orgmode.org/manual/noweb.html

Also note that if all of this is in the same file, both Script1 and Script2 will be tangled to the same file, you may want to specify different filenames as the value of :tangle (see https://orgmode.org/manual/tangle.html#tangle).

Hope this helps,
--Diego


On Wed, Jan 22, 2020 at 8:41 PM Nuno Salgado <address@hidden> wrote:
Hi,

I'm writing an installation script in org-mode.

I'm doing something like this:

  Vars definition:
  #+NAME:DEFVARS
  #+BEGIN_SRC shell :tangle yes
    v1=1;
    v2=2;
  #+END_SRC

  Script1:
  #+BEGIN_SRC shell :tangle yes :noweb eval
    <<DEFVARS>>
    echo $v1;
  #+END_SRC

  Script2:
  #+BEGIN_SRC shell :tangle yes :noweb eval
    <<DEFVARS>>
    echo $v2;
    echo $v1;
  #+END_SRC

This works great when I do C-c C-c in each script.

But when I do org-babel-tangle, the code gets two <<DEFVARS>>.

Does it makes sense? Since I set noweb = eval why does it exports
<<DEFVARS>>?

Could you please help me turning around this problem without removing every reference <<DEFVARS>>

Thank you very much.


Regards,
NS


reply via email to

[Prev in Thread] Current Thread [Next in Thread]