From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Schulte Subject: Re: Regression bug in tangle/weave Date: Thu, 30 Jun 2011 11:30:50 -0700 Message-ID: <8762nn8945.fsf@gmail.com> References: <1309447445.43453.YahooMailNeo@web81602.mail.mud.yahoo.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([140.186.70.92]:56452) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QcM0z-0001FH-1T for emacs-orgmode@gnu.org; Thu, 30 Jun 2011 14:31:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QcM0x-0007g8-0m for emacs-orgmode@gnu.org; Thu, 30 Jun 2011 14:31:00 -0400 Received: from mail-iw0-f169.google.com ([209.85.214.169]:46083) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QcM0w-0007fH-Jf for emacs-orgmode@gnu.org; Thu, 30 Jun 2011 14:30:58 -0400 Received: by mail-iw0-f169.google.com with SMTP id 8so2804946iwn.0 for ; Thu, 30 Jun 2011 11:30:58 -0700 (PDT) In-Reply-To: <1309447445.43453.YahooMailNeo@web81602.mail.mud.yahoo.com> (MidLifeXis at PerlMonks's message of "Thu, 30 Jun 2011 08:24:05 -0700 (PDT)") 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: MidLifeXis at PerlMonks Cc: emacs-orgmode --=-=-= Content-Type: text/plain Hi, Indeed this example below no longer works, however I believe the new behavior is both desired and permanent. I'll explain and include an option for how your example could be restructured to work with the new code. We ran into problems automatically removing trailing newlines from code block bodies as in some languages (looking at you Python and Haskell) things like trailing newlines are of syntactic importance. In your example this behavior results in the insertion of newlines after file-name and file-version. Babel is careful to preserve line prefixes when expanding references in comments, so it then reproduces the # Generated from portion of that line for every line of the expanded noweb references. I would suggest the following alternatives, either using a data references in stead of a code block reference as in the file-version example below, or using an evaluated code block as in the file-name example below. Hope this helps. Best -- Eric --=-=-= Content-Type: text/x-org Content-Disposition: inline; filename=ATestFile.org * Bugs ** SOMEDAY org-mode bug with tangle and newlines :PROPERTIES: :created: [2011-06-30 Thu 10:00] :ID: e4c992b5-4d35-443b-b34a-0fbda7c66aea :END: :LOGBOOK: - Added on [2011-06-30 Thu 10:00] :END: [2011-06-30 Thu] A regression bug has surfaced in org-mode with the tangle/weave process mangling the following setup: #+begin_src perl :noweb yes :tangle testoutput.pl :shebang #!perl # <> print "Hello world\n"; #+end_src #+srcname: generated-from #+begin_src text :noweb yes Generated from <> version <>. #+end_src #+srcname: file-name #+begin_src emacs-lisp :var file=(buffer-file-name) (file-name-nondirectory file) #+end_src #+results: file-version : 1.2.3.4 The last it worked* was sometime in the early 7.4 timeframe. If I get some time, I may do a bisect on it, although others are welcome to do the work required. Timeframe is based on memory, not actual checking, so first a bisect needs to be done to find where it last worked. --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable MidLifeXis at PerlMonks writes: > It appears that there may be a regression problem with the current > tangle/weave process.=C2=A0 I used to be able to have a noweb section for > the name of the file, another for the version of the file, and then > have an autogenerated header section that included those two pieces of > information on a single line.=C2=A0 Following is an org file snippet of my > bug description. > > > * Bugs > ** SOMEDAY org-mode bug with tangle and newlines=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 :BUG: > =C2=A0=C2=A0 :PROPERTIES: > =C2=A0=C2=A0 :created: [2011-06-30 Thu 10:00] > =C2=A0=C2=A0 :ID: e4c992b5-4d35-443b-b34a-0fbda7c66aea > =C2=A0=C2=A0 :END: > =C2=A0=C2=A0 :LOGBOOK: > =C2=A0=C2=A0 - Added on [2011-06-30 Thu 10:00] > =C2=A0=C2=A0 :END: > =C2=A0=C2=A0 [2011-06-30 Thu] > > =C2=A0=C2=A0 A regression bug has surfaced in org-mode with the tangle/we= ave > =C2=A0=C2=A0 process mangling the following setup: > > =C2=A0=C2=A0 #+begin_src perl :noweb yes :tangle testoutput.pl :shebang #= !perl > =C2=A0=C2=A0 # <> > =C2=A0=C2=A0 print "Hello world\n"; > =C2=A0=C2=A0 #+end_src > > =C2=A0=C2=A0 #+srcname: generated-from > =C2=A0=C2=A0 #+begin_src text :noweb yes > =C2=A0=C2=A0 Generated from <> version <>. > =C2=A0=C2=A0 #+end_src > > =C2=A0=C2=A0 #+srcname: file-name > =C2=A0=C2=A0 #+begin_src text :noweb yes > =C2=A0=C2=A0 ATestFile.org > =C2=A0=C2=A0 #+end_src > > =C2=A0=C2=A0 #+srcname: file-version > =C2=A0=C2=A0 #+begin_src text :noweb yes > =C2=A0=C2=A0 1.2.3.4 > =C2=A0=C2=A0 #+end_src > > =C2=A0=C2=A0 The last it worked* was sometime in the early 7.4 timeframe.= =C2=A0 If I > =C2=A0=C2=A0 get some time, I may do a bisect on it, although others are = welcome > =C2=A0=C2=A0 to do the work required.=C2=A0 Timeframe is based on memory,= not > =C2=A0=C2=A0 actual checking, so first a bisect needs to be done to find = where > =C2=A0=C2=A0 it last worked. > > > *** Actual output > > #+begin_src perl > #!perl > > # Generated from ATestFile.org > # Generated from version 1.2.3.4 > # Generated from <> version . > #=20 > print "Hello world\n"; > #+end_src > > *** Expected output (or at least similar) > > #+begin_src perl > #!perl > > # Generated from ATestFile.org version 1.2.3.4. > > print "Hello world\n"; > #+end_src > > * End of org file > > --=20 Eric Schulte http://cs.unm.edu/~eschulte/ --=-=-=--