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.
This commit is contained in:
Eric Schulte 2012-01-23 19:40:21 -07:00
parent 978fd46069
commit 269a509615
2 changed files with 13 additions and 3 deletions

View File

@ -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}

View File

@ -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