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, 17 Mar 2014 11:44:53 -0600 Message-ID: <87txawwwh6.fsf@gmail.com> References: <52F498AE.6090802@krugs.de> <87siruamo3.fsf@gmail.com> <52F5326C.7010505@krugs.de> <877g7syio6.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56451) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WPbcx-000055-Db for emacs-orgmode@gnu.org; Mon, 17 Mar 2014 13:47:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WPbcs-00021K-PL for emacs-orgmode@gnu.org; Mon, 17 Mar 2014 13:47:07 -0400 Received: from mail-pb0-x22b.google.com ([2607:f8b0:400e:c01::22b]:41866) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WPbcs-000219-Hb for emacs-orgmode@gnu.org; Mon, 17 Mar 2014 13:47:02 -0400 Received: by mail-pb0-f43.google.com with SMTP id um1so5967369pbc.16 for ; Mon, 17 Mar 2014 10:47:01 -0700 (PDT) In-Reply-To: (John Hendy's message of "Mon, 17 Mar 2014 12:11:20 -0500") 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: John Hendy Cc: Rainer@krugs.de, emacs-orgmode John Hendy writes: > On Mon, Mar 17, 2014 at 10:00 AM, Eric Schulte wrote: >> John Hendy writes: >> >>> On Fri, Feb 7, 2014 at 1:22 PM, Rainer M Krug wrote: >>>> >>>> >>>> >>>> On 02/07/14, 17:47 , Eric Schulte wrote: >>>> > Rainer M Krug writes: >>>> > >>>> >> On 02/07/14, 07:18 , John Hendy wrote: >>>> >>> Greetings, >>>> >>> >>>> >>> >>>> >>> I don't usually tangle, but am creating a code file to go along with a >>>> >>> presentation I'm giving this weekend so that attendees can try things >>>> >>> out afterward by cloning my github repo where all the data and >>>> >>> necessary files are stored. >>>> >>> >>>> >>> In my presentation (Beamer), I create plots via the R pdf() device, >>>> >>> and noticed that all of the tangled code where plots are generated >>>> >>> contains the following: >>>> >>> >>>> >>> pdf(file="file.pdf"); tryCatch({ >>>> >>> >>>> >>> code block contents here >>>> >>> >>>> >>> },error=function(e){plot(x=-1:1, y=-1:1, type='n', xlab='', ylab='', >>>> >>> axes=FALSE); text(x=0, y=0, labels=e$message, col='red'); >>>> >>> paste('ERROR', e$message, sep=' : ')}); dev.off() >>>> >>> >>>> >>> Is there a way to omit this? >>>> >> >>>> >> This is a bug which must have been introduced some time ago - in the >>>> >> stock version of emacs (Org-mode version 7.9.3f >>>> >> (release_7.9.3f-17-g7524ef @ >>>> >> /usr/local/Cellar/emacs/24.3/share/emacs/24.3/lisp/org/)) it does not >>>> >> tangle the enclosing commands to create graphics, but in 8.2 it does (I >>>> >> don't have an older version at hand to go further back). >>>> >> >>>> > >>>> > I believe this was introduced by your commit eaa3a761d. Reversion of >>>> > which with the following should provide a temporary workaround. >>>> >> >> I take this back, the behavior is unrelated to Rainer's commit adding >> try/catch blocks to R graphics creation logic. >> >> In fact I don't believe this is a bug, rather the default behavior is to >> expand code block bodies on tangling. This behavior may be changed by >> using the :no-expand header argument which will inhibit code block body >> expansion during tangling. >> > > Got it, and thanks for the new variable tip! > > Out of curiosity, is there a consensus that this is the preferred > behavior for tangling by default? There may have been a consensus in a single thread motivated by a single use case, which should not necessarily be a global consensus. > I'm guessing at some point it was decided that the need was preferred > to have these bits inserted before/after code blocks, but just trying > to confirm this. It seems odd to me, at least given R's behavior, that > someone would prefer these bits to show up in the tangled file since > they appeared to serve the purpose of having Org not fail during > export vs. benefitting the code in any way (if I wasn't running code > through R, I'd just get the errors directly). > I'd be happy to add :no-expand to the default R header arguments. Or even to change this behavior globally, if the current behavior is universally surprising. Best, > > > John > >> Best, >> >> -- >> Eric Schulte >> https://cs.unm.edu/~eschulte >> PGP: 0x614CA05D -- Eric Schulte https://cs.unm.edu/~eschulte PGP: 0x614CA05D