summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Schulte <eric.schulte@gmx.com>2012-01-05 10:42:17 -0700
committerEric Schulte <eric.schulte@gmx.com>2012-01-05 10:42:17 -0700
commitd35c79aca95a6841ed9ca12364db6dbe05aba060 (patch)
tree8cf9328a26e4d1d9276142d0a246eda5296fb87c
parentded376f7563c731776f1024f67f68c59eaa8391e (diff)
downloadorg-mode-d35c79aca95a6841ed9ca12364db6dbe05aba060.tar.gz
resurrect dropped pieces of a previous patch
* lisp/ob.el (org-babel-expand-noweb-references): Resurrect dropped pieces of a previous patch.
-rw-r--r--lisp/ob.el37
1 files changed, 22 insertions, 15 deletions
diff --git a/lisp/ob.el b/lisp/ob.el
index 745163b..b252055 100644
--- a/lisp/ob.el
+++ b/lisp/ob.el
@@ -2019,6 +2019,8 @@ block but are passed literally to the \"example-block\"."
(lang (nth 0 info))
(body (nth 1 info))
(comment (string= "noweb" (cdr (assoc :comments (nth 2 info)))))
+ (rx-prefix (concat "\\(" org-babel-src-name-regexp "\\|"
+ ":noweb-ref[ \t]+" "\\)"))
(new-body "") index source-name evaluate prefix blocks-in-buffer)
(flet ((nb-add (text) (setq new-body (concat new-body text)))
(c-wrap (text)
@@ -2059,31 +2061,36 @@ block but are passed literally to the \"example-block\"."
(when (org-babel-ref-goto-headline-id source-name)
(org-babel-ref-headline-body)))
;; find the expansion of reference in this buffer
- (let (expansion)
+ (let ((rx (concat rx-prefix source-name))
+ expansion)
(save-excursion
(goto-char (point-min))
(if *org-babel-use-quick-and-dirty-noweb-expansion*
(while (re-search-forward rx nil t)
(let* ((i (org-babel-get-src-block-info 'light))
- (body (org-babel-expand-noweb-references i)))
- (if comment
- ((lambda (cs)
- (concat (c-wrap (car cs)) "\n"
- body "\n" (c-wrap (cadr cs))))
- (org-babel-tangle-comment-links i))
- (setq expansion (concat expansion body)))))
+ (body (org-babel-expand-noweb-references i))
+ (full (if comment
+ ((lambda (cs)
+ (concat (c-wrap (car cs)) "\n"
+ body "\n"
+ (c-wrap (cadr cs))))
+ (org-babel-tangle-comment-links i))
+ body)))
+ (setq expansion (concat expansion full))))
(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)))
(nth 4 i))
source-name)
- (let ((body (org-babel-expand-noweb-references i)))
- (if comment
- ((lambda (cs)
- (concat (c-wrap (car cs)) "\n"
- body "\n" (c-wrap (cadr cs))))
- (org-babel-tangle-comment-links i))
- (setq expansion (concat expansion body)))))))))
+ (let* ((body (org-babel-expand-noweb-references i))
+ (full (if comment
+ ((lambda (cs)
+ (concat (c-wrap (car cs)) "\n"
+ body "\n"
+ (c-wrap (cadr cs))))
+ (org-babel-tangle-comment-links i))
+ body)))
+ (setq expansion (concat expansion full))))))))
expansion)
;; possibly raise an error if named block doesn't exist
(if (member lang org-babel-noweb-error-langs)