When tangling from a code block, the header arguments from the code block are used for the tangling, and not the header arguments defined for other subtrees or code blocks, as is the case when tangling interactively.
Below find an example provided by Charles. Cheers, Rainer --8<---------------cut here---------------start------------->8--- #+PROPERTY: header-args :tangle no * Problem: Note that the :tangle header arg for the 'Descr' src block is correctly rendered from the DESCRIPTION subtree, but not from the 'new heading' subtree. * DESCRIPTION File :PROPERTIES: :header-args: :tangle ./DESCRIPTION :END: #+NAME: Descr #+begin_src RDescr test #+end_src #+BEGIN_SRC emacs-lisp :results pp (save-excursion (org-babel-goto-named-src-block "Descr") (assoc :tangle (nth 2 (org-babel-get-src-block-info)))) #+END_SRC #+RESULTS: : (:tangle . "./DESCRIPTION") * new heading #+BEGIN_SRC emacs-lisp :results pp (save-excursion (org-babel-goto-named-src-block "Descr") (assoc :tangle (nth 2 (org-babel-get-src-block-info)))) #+END_SRC #+RESULTS: : (:tangle . "no") --8<---------------cut here---------------end--------------->8--- "Charles C. Berry" <ccbe...@ucsd.edu> writes: > On Wed, 3 Sep 2014, Rainer M Krug wrote: > >> Charles Berry <ccbe...@ucsd.edu> writes: >> >>> Rainer M Krug <Rainer <at> krugs.de> writes: >>> >>>> >>>> Hi >>>> >>>> I am calling (org-bable-tangle) in a code block in an org file and I >>>> would show the files resulting from the tangling in a nice format. >>>> > > [original question nd answer deleted] > > >> Thanks - this looks promising. >> >> But I now have another problem: The result of tangling from a code block >> is different then when calling interactively. >> >> Consider the following org file: >> >> --8<---------------cut here---------------start------------->8--- >> #+PROPERTY: header-args :tangle no >> >> * DESCRIPTION File >> :PROPERTIES: >> :header-args+: :tangle ./DESCRIPTION >> :END: >> >> #+begin_src RDescr >> test >> #+end_src >> >> * And the tangling >> #+BEGIN_SRC emacs-lisp :results value >> (mapconcat (lambda (x) (file-relative-name x "..")) (org-babel-tangle) "\n") >> #+END_SRC >> >> #+RESULTS: >> >> --8<---------------cut here---------------end--------------->8--- >> >> When tangling interactively, the file DESCRIPTION is tangled properly. >> But when I call (org-babel-tangle) from the code block, nothing is >> tangled because in this case, the property =tangle= is equal to =no= >> based on the file wide property setting in the beginning. >> >> Is this a bug or is it simply not possible to tangle from a code block? > > I think this is a bug. > > Here is an ECM to demo it. > > Note that the :tangle header arg for the 'Descr' src block is correctly > rendered from the DESCRIPTION subtree, but not from the 'new heading' > subtree. > > > > #+PROPERTY: header-args :tangle no > > * DESCRIPTION File > :PROPERTIES: > :header-args: :tangle ./DESCRIPTION > :END: > > #+NAME: Descr > #+begin_src RDescr > test > #+end_src > > #+BEGIN_SRC emacs-lisp :results pp > (save-excursion > (org-babel-goto-named-src-block "Descr") > (assoc :tangle (nth 2 (org-babel-get-src-block-info)))) > #+END_SRC > > #+RESULTS: > : (:tangle . "./DESCRIPTION") > > > > * new heading > > #+BEGIN_SRC emacs-lisp :results pp > (save-excursion > (org-babel-goto-named-src-block "Descr") > (assoc :tangle (nth 2 (org-babel-get-src-block-info)))) > #+END_SRC > > #+RESULTS: > : (:tangle . "no") > > > > > HTH, > > Chuck > > -- Rainer M. Krug email: Rainer<at>krugs<dot>de PGP: 0x0F52F982
pgpHI6QcBI9ka.pgp
Description: PGP signature