From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Leha Subject: Re: Problem with noweb-ref property Date: Mon, 02 Jan 2012 13:32:09 +0100 Message-ID: <87obum70ae.fsf@med.uni-goettingen.de> References: <87wr9frwa7.fsf@gmx.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([140.186.70.92]:37674) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rhh42-0001Zp-FN for emacs-orgmode@gnu.org; Mon, 02 Jan 2012 07:32:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rhh40-0000Ml-W5 for emacs-orgmode@gnu.org; Mon, 02 Jan 2012 07:32:30 -0500 Received: from lo.gmane.org ([80.91.229.12]:35221) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rhh40-0000Mf-IR for emacs-orgmode@gnu.org; Mon, 02 Jan 2012 07:32:28 -0500 Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1Rhh3x-0003P1-Fy for emacs-orgmode@gnu.org; Mon, 02 Jan 2012 13:32:25 +0100 Received: from hp1.ams.med.uni-goettingen.de ([134.76.140.41]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 02 Jan 2012 13:32:25 +0100 Received: from andreas.leha by hp1.ams.med.uni-goettingen.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 02 Jan 2012 13:32:25 +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: emacs-orgmode@gnu.org Tomas Grigera writes: > Hi Eric, > > Thanks a lot for your quick reply and fix. Getting the git repo > version scares me a bit, but I guess I'll just have to take the > plunge! Here we go :) > > Thanks again, > > Tomas > > On Thu, Dec 29, 2011 at 16:51, Eric Schulte wrote: >> Tomas Grigera writes: >> >>> Hi list, >>> >>> This is my first post, so just let me say first that I have been using >>> org-mode for 10 months or so and I love it. It's an exceptional >>> package, and before I ask my question I would just like to thank >>> Carsten, Bastien, and the community for the great work and for >>> sharing. >>> >>> Now my question: I am trying to extract code from a .org file by >>> tangling with noweb-style references. As I understand from the manual, >>> if I write <> in a code block, the line will be expanded with the >>> code block named foo. This name I can set with #+NAME:  or with the >>> :noweb-ref header argument. Both ways work for me, except that I >>> cannont set the :noweb-ref argument through a property. >>> >>> The following example is almost verbatim from the manual: >>> >>> #+BEGIN_SRC sh :tangle yes :noweb yes :shebang #!/bin/sh >>> <> >>> #+END_SRC >>> >>> * the mount point of the fullest disk >>> >>> ** query all mounted disks >>> >>> #+HEADER: :noweb-ref fullest-disk >>> #+BEGIN_SRC sh >>>         df \ >>> #+END_SRC >>> >>> >>> ** strip the header row >>>   :PROPERTIES: >>>   :noweb-ref: fullest-disk >>>   :END: >>> #+BEGIN_SRC sh :noweb yes >>>         |sed '1d' \ >>> #+END_SRC >>> >>> >>> If I understand correctly, tangling should produce a file which is a >>> concatenation of the two code blocks. However, when I do >>> org-babel-tangle, only the first block   is inserted. Am I doing >>> something wrong? >>> >>> I'm with emacs 23.2.1 and org-mode 7.8.02 >>> >>> Thanks in advance, >>> >>> Tomas >>> >> >> Hi Tomas, >> >> You are correct the behavior described above is a bug introduced by a >> fairly recent commit of mine which switched to using regular expressions >> when resolving noweb references in an attempt to decrease the time >> required to tangle code blocks (which can be significant in large code >> blocks). >> >> However correct performance is more important than fast performance. >> I've just pushed up a patch which fixes the bug you've described, and >> hopefully doesn't slow down the tangling process too significantly. >> >> Cheers, >> >> -- >> Eric Schulte >> http://cs.unm.edu/~eschulte/ Hi Eric, unfortunately, for me it does result in a considerably slow down. (Well, I did not bisect this time but still suspect the commit you mention in this thread.) As a test case you can still use http://pastebin.com/c42jS1Be from my last post on this matter and expand the first source block. Sorry to ask again: Would it be possible to speed things up again or to make the :noweb-ref feature optional? Regards, Andreas