From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Schulte Subject: Re: [babel] tangle from within codeblock? Date: Fri, 05 Aug 2011 11:13:07 -0600 Message-ID: <877h6rn5ng.fsf@gmail.com> References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([140.186.70.92]:60926) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QpNxP-0003GI-7A for emacs-orgmode@gnu.org; Fri, 05 Aug 2011 13:13:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QpNxN-0008Od-Q7 for emacs-orgmode@gnu.org; Fri, 05 Aug 2011 13:13:11 -0400 Received: from mail-vw0-f41.google.com ([209.85.212.41]:41080) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QpNxN-0008OY-Nh for emacs-orgmode@gnu.org; Fri, 05 Aug 2011 13:13:09 -0400 Received: by vwm42 with SMTP id 42so1300939vwm.0 for ; Fri, 05 Aug 2011 10:13:08 -0700 (PDT) In-Reply-To: (Rainer M. Krug's message of "Thu, 4 Aug 2011 15:21:10 +0200") 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: Rainer M Krug Cc: emacs-orgmode --=-=-= Content-Type: text/plain 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... --=-=-= Content-Type: text/x-org Content-Disposition: inline; filename=tangle.org ** tangle before evaluating a code block #+begin_src sh :var TANGLED=(org-babel-tangle) :tangle no wc $TANGLED #+end_src #+results: : 2 2 11 it.sh #+begin_src sh :tangle it.sh echo TEST #+end_src --=-=-= Content-Type: text/plain Best -- Eric -- Eric Schulte http://cs.unm.edu/~eschulte/ --=-=-=--