From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Schulte Subject: Re: [BABEL] BUG Re: Omitting try/catch blocks from tangled R code? Date: Mon, 24 Mar 2014 07:16:30 -0600 Message-ID: <87siq7g2j5.fsf@gmail.com> References: <52F498AE.6090802@krugs.de> <87siruamo3.fsf@gmail.com> <52F5326C.7010505@krugs.de> <877g7syio6.fsf@gmail.com> <87txawwwh6.fsf@gmail.com> <87r45xeabf.fsf@gmail.com> <87fvm8gxok.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:38531) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WS4my-0002pA-R4 for emacs-orgmode@gnu.org; Mon, 24 Mar 2014 09:21:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WS4mM-0000gW-R3 for emacs-orgmode@gnu.org; Mon, 24 Mar 2014 09:19:40 -0400 Received: from mail-ie0-x22e.google.com ([2607:f8b0:4001:c03::22e]:33681) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WS4mM-0000gG-JM for emacs-orgmode@gnu.org; Mon, 24 Mar 2014 09:19:02 -0400 Received: by mail-ie0-f174.google.com with SMTP id rp18so5275682iec.5 for ; Mon, 24 Mar 2014 06:19:02 -0700 (PDT) In-Reply-To: (Rainer M. Krug's message of "Mon, 24 Mar 2014 11:22:05 +0100") 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@gnu.org, Charles Berry Rainer M Krug writes: > Eric Schulte writes: > >> Rainer M Krug writes: >> >>> Eric Schulte writes: >>> >>>> Charles Berry writes: >>>> >>>>> John Hendy gmail.com> writes: >>>>> >>>>> [deleted] >>>>>> > >>>>>> > I think the default behavior should be reverted, as tangling and >>>>>> > exporting are two different things. When I tangle, I want to see the >>>>>> > code blocks as they are in the org document (with possible variables and >>>>>> > expansions) but not to create files where I do not put it explicitly >>>>>> > into a code block. These wrappers have nothing to do with the code, and >>>>>> > are only there for the exported engine. So I would either revert to the >>>>>> > original behavior, or, introduce a new header argument, >>>>>> > e.g. :include-wrappers, which would, if set to t, include the export >>>>>> > wrappers in the tangled file. This might be useful for debugging >>>>>> > exporting of code block results, but not for general tangling. >>>>>> >>>>>> Thanks for chiming in. This was my gut reaction to the default >>>>>> behavior. I guess we're still only a sample size of 2, but >>>>>> intuitively, I would think that tangling would be a separate beast in >>>>>> most cases from exporting. Just to have it on the record, if I tangle, >>>>>> it's usually to take the code I've used in something like a Beamer >>>>>> presentation or document and combine it into a single .R file so >>>>>> someone can run it without needing Org-mode. >>>>> >>>>> [deleted] >>>>> >>>>> Sorry to be late to add my $0.02... >>>>> >>>>> I never want the try/catch wrappers. >>>>> >>>>> But noweb is indispensable. >>>>> >>>>> I use noweb a lot to organize and collect blocks. In some cases, I export >>>>> them and in others I just tangle them. >>>>> >>>>> I hope that the revised code will allow me to turn off try/catch wrapping >>>>> and still be able to use noweb when tangling or exporting. >>>>> >>>> >>>> In addition to noweb, there are cases where variable expansion is useful >>>> in tangled code. >>>> >>>> The simplest option is to move things like try/catch blocks out of the >>>> code block expansion function, and into the execution function. Then if >>>> other language present similar constructs (which we want to add to >>>> execution by default but never want to tangle), we can think about >>>> abstracting this out into some new level of code block expansion. >>>> >>>> Thoughts? >>> >>> Makes perfect sense to me, and would definitely be the better place to >>> add them. >>> >>> If one wants enclosing code in the tangling, there is always >>> the :epilogue and :prologue header arguments, and the try/catch should >>> be considered as internal to the execution. >>> >> >> Great, how's this patch work? If it looks good I'll apply it. > > Git still puzzles me a lot... If you tell me how I can apply this patch > (from emacs?) I will try it out. > Here are some instructions from the command line. 1. write the patch out to a file on disk, say /tmp/0001-etc...patch 2. cd into the org-mode directory 3. make sure you're up to date with the latest git pull 4. apply the patch git am /tmp/0001-etc...patch and that should do it. Best, > > Thanks, > > Rainer > >> >> Thanks, -- Eric Schulte https://cs.unm.edu/~eschulte PGP: 0x614CA05D