emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Format output of org-babel-tangle for exported file
@ 2014-09-03 13:08 Rainer M Krug
  2014-09-03 13:30 ` Rainer M Krug
  2014-09-03 14:19 ` Charles Berry
  0 siblings, 2 replies; 5+ messages in thread
From: Rainer M Krug @ 2014-09-03 13:08 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1308 bytes --]

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.

But I do not manage. I have the following at the moment:

--8<---------------cut here---------------start------------->8---
#+begin_src emacs-lisp 
(replace-regexp-in-string "[)\"]" ""
     (replace-regexp-in-string "[(]" "- "
          (replace-regexp-in-string " " "\n- "
               (prin1-to-string (org-babel-tangle)))))
#+end_src

#+RESULTS:
#+begin_example
- /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/prodMixStands.el
- /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/prodMixStands.makefile
- /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/prodMixStands.RDescr
- ./R/SDI.R
- ./R/plot.frontier.R
- ./R/selectPlotsVallet.R
- ./R/loadIFNstl.R
- ./R/loadIFNqmd.R
- ./R/loadIFNcompetition.R
- ./R/loadIFN.R
- ./R/initializeAnalysis.R
- /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/prodMixStands.R
#+end_example
--8<---------------cut here---------------end--------------->8---

Which is neither elegant nor short, and I am sure I could do this
easier. Any suggestions?

Rainer

-- 
Rainer M. Krug
email: Rainer<at>krugs<dot>de
PGP: 0x0F52F982

[-- Attachment #2: Type: application/pgp-signature, Size: 494 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Format output of org-babel-tangle for exported file
  2014-09-03 13:08 Format output of org-babel-tangle for exported file Rainer M Krug
@ 2014-09-03 13:30 ` Rainer M Krug
  2014-09-03 14:19 ` Charles Berry
  1 sibling, 0 replies; 5+ messages in thread
From: Rainer M Krug @ 2014-09-03 13:30 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 4216 bytes --]


Some further information, as I just realized that it is not working:
In the message buffer I get the following output:
,----
| executing Emacs-Lisp code block...
| Saving file /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/prodMixStands.org...
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/prodMixStands.org
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/prodMixStands.R [7 times]
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/R/initializeAnalysis.R [8 times]
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/R/loadIFN.R
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/R/loadIFNcompetition.R
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/R/loadIFNqmd.R
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/R/loadIFNstl.R
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/R/selectPlotsVallet.R
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/R/plot.frontier.R
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/R/SDI.R
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/prodMixStands.R [11 times]
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/prodMixStands.RDescr
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/prodMixStands.makefile [7 times]
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/prodMixStands.el [7 times]
| Tangled 48 code blocks from prodMixStands.org
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/prodMixStands.RDescr
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/R/SDI.R
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/R/plot.frontier.R
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/R/selectPlotsVallet.R
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/R/loadIFNstl.R
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/R/loadIFNqmd.R
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/R/loadIFNcompetition.R
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/R/loadIFN.R
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/R/initializeAnalysis.R
| Wrote /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/prodMixStands.R
| Code block evaluation complete.
`----

So not all files tangled are passed on in the script (I assume because
of the length?). In addition, not all files resulting from the tangling
are in the message buffer (I am tangling a ./DESCRIPTION file as well).

How can I get all names resulting from the tangling in the results block
of the code block?

Rainer


Rainer M Krug <Rainer@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.
>
> But I do not manage. I have the following at the moment:
>
> #+begin_src emacs-lisp 
> (replace-regexp-in-string "[)\"]" ""
>      (replace-regexp-in-string "[(]" "- "
>           (replace-regexp-in-string " " "\n- "
>                (prin1-to-string (org-babel-tangle)))))
> #+end_src
>
> #+RESULTS:
> #+begin_example
> - /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/prodMixStands.el
> - /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/prodMixStands.makefile
> - /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/prodMixStands.RDescr
> - ./R/SDI.R
> - ./R/plot.frontier.R
> - ./R/selectPlotsVallet.R
> - ./R/loadIFNstl.R
> - ./R/loadIFNqmd.R
> - ./R/loadIFNcompetition.R
> - ./R/loadIFN.R
> - ./R/initializeAnalysis.R
> - /Users/rainerkrug/Documents/Projects/IFN/ProductivityMixedStands/prodMixStands.R
> #+end_example
>
> Which is neither elegant nor short, and I am sure I could do this
> easier. Any suggestions?
>
> Rainer

-- 
Rainer M. Krug
email: Rainer<at>krugs<dot>de
PGP: 0x0F52F982

[-- Attachment #2: Type: application/pgp-signature, Size: 494 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Format output of org-babel-tangle for exported file
  2014-09-03 13:08 Format output of org-babel-tangle for exported file Rainer M Krug
  2014-09-03 13:30 ` Rainer M Krug
@ 2014-09-03 14:19 ` Charles Berry
  2014-09-03 15:46   ` Tangling from code block and header arguments WAS: " Rainer M Krug
  1 sibling, 1 reply; 5+ messages in thread
From: Charles Berry @ 2014-09-03 14:19 UTC (permalink / raw)
  To: emacs-orgmode

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.
> 
> But I do not manage. I have the following at the moment:
> 
> --8<---------------cut here---------------start------------->8---
> #+begin_src emacs-lisp 
> (replace-regexp-in-string "[)\"]" ""
>      (replace-regexp-in-string "[(]" "- "
>           (replace-regexp-in-string " " "\n- "
>                (prin1-to-string (org-babel-tangle)))))
> #+end_src
> 

[snip]

> Which is neither elegant nor short, and I am sure I could do this
> easier. Any suggestions?

Something like this? Possibly with `(reverse (org-babel-tangle))'

#+BEGIN_SRC emacs-lisp :results value
(mapconcat (lambda (x) (file-relative-name x "..")) (org-babel-tangle) "\n")
#+END_SRC


HTH,

Chuck

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Tangling from code block and header arguments WAS: Format output of org-babel-tangle for exported file
  2014-09-03 14:19 ` Charles Berry
@ 2014-09-03 15:46   ` Rainer M Krug
  2014-09-03 16:56     ` Charles C. Berry
  0 siblings, 1 reply; 5+ messages in thread
From: Rainer M Krug @ 2014-09-03 15:46 UTC (permalink / raw)
  To: Charles Berry; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 2094 bytes --]

Charles Berry <ccberry@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.
>> 
>> But I do not manage. I have the following at the moment:
>> 
>> --8<---------------cut here---------------start------------->8---
>> #+begin_src emacs-lisp 
>> (replace-regexp-in-string "[)\"]" ""
>>      (replace-regexp-in-string "[(]" "- "
>>           (replace-regexp-in-string " " "\n- "
>>                (prin1-to-string (org-babel-tangle)))))
>> #+end_src
>> 
>
> [snip]
>
>> Which is neither elegant nor short, and I am sure I could do this
>> easier. Any suggestions?
>
> Something like this? Possibly with `(reverse (org-babel-tangle))'
>
> #+BEGIN_SRC emacs-lisp :results value
> (mapconcat (lambda (x) (file-relative-name x "..")) (org-babel-tangle) "\n")
> #+END_SRC

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?

Thanks,

Rainer

>
>
> HTH,
>
> Chuck
>
>
>
>

-- 
Rainer M. Krug
email: Rainer<at>krugs<dot>de
PGP: 0x0F52F982

[-- Attachment #2: Type: application/pgp-signature, Size: 494 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Tangling from code block and header arguments WAS: Format output of org-babel-tangle for exported file
  2014-09-03 15:46   ` Tangling from code block and header arguments WAS: " Rainer M Krug
@ 2014-09-03 16:56     ` Charles C. Berry
  0 siblings, 0 replies; 5+ messages in thread
From: Charles C. Berry @ 2014-09-03 16:56 UTC (permalink / raw)
  To: Rainer M Krug; +Cc: emacs-orgmode

On Wed, 3 Sep 2014, Rainer M Krug wrote:

> Charles Berry <ccberry@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.



--8<---------------cut here---------------start------------->8---
#+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")

--8<---------------cut here---------------end--------------->8---



HTH,

Chuck

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-09-03 16:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-03 13:08 Format output of org-babel-tangle for exported file Rainer M Krug
2014-09-03 13:30 ` Rainer M Krug
2014-09-03 14:19 ` Charles Berry
2014-09-03 15:46   ` Tangling from code block and header arguments WAS: " Rainer M Krug
2014-09-03 16:56     ` Charles C. Berry

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).