From patchwork Mon Jan 23 20:07:48 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [O] ob.el Adhere to current :padline header during noweb dereferencing. Date: Tue, 24 Jan 2012 01:07:48 -0000 From: Tom Regner X-Patchwork-Id: 1129 Message-Id: <1327349268-11743-1-git-send-email-tom@goochesa.de> 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