From 269a509615095e2e2d271a9e33d799d41744047a Mon Sep 17 00:00:00 2001 From: Eric Schulte Date: Mon, 23 Jan 2012 19:40:21 -0700 Subject: [PATCH] customizable noweb reference separator * lisp/ob.el (org-babel-noweb-separator): Custom variable for accumulated noweb references. (org-babel-expand-noweb-references): Allow separator for noweb references. * doc/org.texi (noweb-ref): Documentation of this new custom variable. --- doc/org.texi | 4 ++++ lisp/ob.el | 12 +++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/doc/org.texi b/doc/org.texi index 569fc394c..deb8d0dde 100644 --- a/doc/org.texi +++ b/doc/org.texi @@ -13667,6 +13667,10 @@ inheritance}).}. #+END_SRC @end example +The @code{org-babel-noweb-separator} variable holds the string used to +separate accumulate noweb references like those above. By default this +variable holds a newline. + @node cache, sep, noweb-ref, Specific header arguments @subsubsection @code{:cache} diff --git a/lisp/ob.el b/lisp/ob.el index f75412e1b..c13d13c4d 100644 --- a/lisp/ob.el +++ b/lisp/ob.el @@ -120,6 +120,11 @@ be used." :group 'org-babel :type 'string) +(defcustom org-babel-noweb-separator "\n" + "String used to separate accumulated noweb references." + :group 'org-babel + :type 'string) + (defvar org-babel-src-name-regexp "^[ \t]*#\\+name:[ \t]*" "Regular expression used to match a source name line.") @@ -2194,7 +2199,7 @@ block but are passed literally to the \"example-block\"." (c-wrap (cadr cs)))) (org-babel-tangle-comment-links i)) body))) - (setq expansion (concat expansion full)))) + (setq expansion (cons full expansion)))) (org-babel-map-src-blocks nil (let ((i (org-babel-get-src-block-info 'light))) (when (equal (or (cdr (assoc :noweb-ref (nth 2 i))) @@ -2208,8 +2213,9 @@ block but are passed literally to the \"example-block\"." (c-wrap (cadr cs)))) (org-babel-tangle-comment-links i)) body))) - (setq expansion (concat expansion full)))))))) - expansion) + (setq expansion (cons full expansion)))))))) + (mapconcat #'identity (nreverse expansion) + org-babel-noweb-separator)) ;; possibly raise an error if named block doesn't exist (if (member lang org-babel-noweb-error-langs) (error "%s" (concat