emacs-orgmode
[Top][All Lists]
Advanced

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

[O] [BUG] [babel] Tangling from code block and header arguments


From: Rainer M Krug
Subject: [O] [BUG] [babel] Tangling from code block and header arguments
Date: Thu, 04 Sep 2014 11:00:45 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (darwin)

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" <address@hidden> writes:

> On Wed, 3 Sep 2014, Rainer M Krug wrote:
>
>> Charles Berry <address@hidden> 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

Attachment: pgpewWwyloto7.pgp
Description: PGP signature


reply via email to

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