From mboxrd@z Thu Jan 1 00:00:00 1970 From: tom@goochesa.de Subject: [PATCH] ob.el Adhere to current :padline header during noweb dereferencing. Date: Mon, 23 Jan 2012 21:07:48 +0100 Message-ID: <1327349268-11743-1-git-send-email-tom@goochesa.de> Return-path: Received: from eggs.gnu.org ([140.186.70.92]:40716) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RpQBI-0003vX-AR for emacs-orgmode@gnu.org; Mon, 23 Jan 2012 15:07:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RpQBH-0000L5-7R for emacs-orgmode@gnu.org; Mon, 23 Jan 2012 15:07:56 -0500 Received: from v2201111105296627.yourvserver.net ([46.38.233.178]:45025) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RpQBH-0000Ku-2o for emacs-orgmode@gnu.org; Mon, 23 Jan 2012 15:07:55 -0500 Received: from root by v2201111105296627.yourvserver.net with local (Exim 4.76) (envelope-from ) id 1RpQBA-00034a-3D for emacs-orgmode@gnu.org; Mon, 23 Jan 2012 21:07:48 +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 At the moment using the :noweb-ref: property approach on subtrees results in the tangled code beeing broken because the newlines before the #+end_src line are excluded from the output. This patch uses :padline to check if a newline should be added. The default being yes, tangling with subtree mangling now produces correct results; code depending on the (errorneous?) behaviour would be broken though. --- lisp/ob.el | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lisp/ob.el b/lisp/ob.el index 47be708..398a997 100644 --- a/lisp/ob.el +++ b/lisp/ob.el @@ -2211,13 +2211,16 @@ block but are passed literally to the \"example-block\"." (nth 4 i)) source-name) (let* ((body (org-babel-expand-noweb-references i)) - (full (if comment + (padded (if (not (string= "no" (cdr (assoc :padline (nth 2 i))))) + (concat body "\n") + body )) + (full (if comment ((lambda (cs) (concat (c-wrap (car cs)) "\n" - body "\n" + padded "\n" (c-wrap (cadr cs)))) (org-babel-tangle-comment-links i)) - body))) + padded))) (setq expansion (concat expansion full)))))))) expansion) ;; possibly raise an error if named block doesn't exist -- 1.7.5.4