Considere o seguinte arquivo organizacional:
#+PROPERTY: tangle "init.el"
#+PROPERTY: noweb yes
* A
#+begin_src elisp
; initialization code
; this *must* come first
#+end_src
* B
#+begin_src emacs-lisp
<<support-functions>>
#+end_src
** Cool Stuff
#+begin_src elisp :noweb-ref "support-functions" :tangle no
(message "willkommen")
#+end_src
** Test
#+begin_src elisp :noweb-ref "support-functions" :tangle no
(message "hi")
#+end_src
rendimentos
(message "willkommen")
(message "hi")
; initialization code
; this *must* come first
ainda assim, remover o :tangle
argumento do cabeçalho em um dos blocos Cool Stuff
corrige o problema, mas duplica o código:
; initialization code
; this *must* come first
(message "hi")
(message "willkommen")
(message "hi")
O que devo fazer para garantir o comportamento correto? Sei que poderia simplesmente desativar o emaranhamento do documento e deixar tudo pronto agora, mas isso parece mais uma solução alternativa do que uma solução.
var
iables no org-babel, mas as outras respostas são quase exatamente o que estou fazendo.