From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rainer M Krug Subject: Re: [babel] tangle from within codeblock? Date: Mon, 8 Aug 2011 09:32:34 +0200 Message-ID: References: <877h6rn5ng.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=e89a8f6468c160f3c304a9f9737c Return-path: Received: from eggs.gnu.org ([140.186.70.92]:52277) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QqKKE-0002iP-8p for emacs-orgmode@gnu.org; Mon, 08 Aug 2011 03:32:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QqKKC-0000Xs-9p for emacs-orgmode@gnu.org; Mon, 08 Aug 2011 03:32:38 -0400 Received: from mail-qw0-f41.google.com ([209.85.216.41]:59446) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QqKKB-0000Xl-V5 for emacs-orgmode@gnu.org; Mon, 08 Aug 2011 03:32:36 -0400 Received: by qwa26 with SMTP id 26so1626834qwa.0 for ; Mon, 08 Aug 2011 00:32:34 -0700 (PDT) In-Reply-To: <877h6rn5ng.fsf@gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Eric Schulte Cc: emacs-orgmode --e89a8f6468c160f3c304a9f9737c Content-Type: text/plain; charset=ISO-8859-1 On Fri, Aug 5, 2011 at 7:13 PM, Eric Schulte wrote: > Rainer M Krug writes: > > > Hi > > > > I have an R package in org, and would like to tangle it before I submit > to > > svn. > > > > I commit via a code block: > > > > #+begin_src sh :results output > > svn commit -m "edits" > > #+end_src > > > > How can I tangle automatically before I commit? I could use batch > execution > > as described in http://orgmode.org/manual/Batch-execution.html but I > think > > it would be useless to start another emacs instance? I thought that I > could > > put it into a header variable to have it evaluated, but I seem to be > missing > > something: > > > > * test > > #+begin_src sh :tangle test.sh :var TANGLED=(org-babel-tangle) > > echo TEST'' > > #+end_src > > > > But I get an error: > > > > Saving file /home/rkrug/tmp/test.org... > > Wrote /home/rkrug/tmp/test.org > > (No changes need to be saved) [56 times] > > cons: Lisp nesting exceeds `max-lisp-eval-depth' > > > > I have the feeling, I am missing something small. > > > > Is there a different way to achieve this? > > > > Hi Rainer, > > You are very close, the problem is that the code block whose header > argument initiates the tangling should not itself be tangled, otherwise > you will wind up with the infinite recursion error you've noticed. > > A setup like the following should work... > Works perfectly - I especially like the summary of the tangling via wc $TANGLED - very nice side effect. Thanks a lot, Rainer > > > > Best -- Eric > > -- > Eric Schulte > http://cs.unm.edu/~eschulte/ > > -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Stellenbosch University South Africa Tel : +33 - (0)9 53 10 27 44 Cell: +33 - (0)6 85 62 59 98 Fax (F): +33 - (0)9 58 10 27 44 Fax (D): +49 - (0)3 21 21 25 22 44 email: Rainer@krugs.de Skype: RMkrug --e89a8f6468c160f3c304a9f9737c Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

On Fri, Aug 5, 2011 at 7:13 PM, Eric Sch= ulte <schult= e.eric@gmail.com> wrote:
Rainer M Krug <r= .m.krug@gmail.com> writes:

> Hi
>
> I have an R package in org, and would like to tangle it before I submi= t to
> svn.
>
> I commit via a code block:
>
> #+begin_src sh :results output
> svn commit =A0-m "edits"
> #+end_src
>
> How can I tangle automatically before I commit? I could use batch exec= ution
> as described in =A0http://orgmode.org/manual/Batch-execution.html but I think
> it would be useless to start another emacs instance? I thought that I = could
> put it into a header variable to have it evaluated, but I seem to be m= issing
> something:
>
> * test
> #+begin_src sh :tangle test.sh :var TANGLED=3D(org-babel-tangle)
> =A0 echo TEST''
> #+end_src
>
> But I get an error:
>
> Saving file /home/rkrug/tmp/test.org...
> Wrote /home/rkrug/tmp/
te= st.org
> (No changes need to be saved) [56 times]
> cons: Lisp nesting exceeds `max-lisp-eval-depth'
>
> I have the feeling, I am missing something small.
>
> Is there a different way to achieve this?
>

Hi Rainer,

You are very close, the problem is that the code block whose header
argument initiates the tangling should not itself be tangled, otherwise
you will wind up with the infinite recursion error you've noticed.

A setup like the following should work...

Works perfectly - I especially like the summary of the tangling via wc $= TANGLED - very nice side effect.

Thanks a lot,

Rainer
=A0



Best -- Eric

--
Eric Schulte
http://cs.unm.ed= u/~eschulte/




--
Rainer M. Krug, PhD= (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. = (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch = University
South Africa

Tel : =A0 =A0 =A0 +33 - (0)9 53 10 27 44
Cell: =A0 = =A0 =A0 +33 - (0)6 85 62 59 98
Fax (F): =A0 =A0 =A0 +33 - (0)9 58 10 27 = 44

Fax (D): =A0 =A0+49 - (0)3 21 21 25 22 44

email: =A0 =A0 = =A0Rainer@krugs.de=

Skype: =A0 =A0 =A0RMkrug

--e89a8f6468c160f3c304a9f9737c--