diff options
author | Eric Schulte <eric.schulte@gmx.com> | 2012-01-05 10:42:17 -0700 |
---|---|---|
committer | Eric Schulte <eric.schulte@gmx.com> | 2012-01-05 10:42:17 -0700 |
commit | d35c79aca95a6841ed9ca12364db6dbe05aba060 (patch) | |
tree | 8cf9328a26e4d1d9276142d0a246eda5296fb87c | |
parent | ded376f7563c731776f1024f67f68c59eaa8391e (diff) | |
download | org-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.el | 37 |
1 files changed, 22 insertions, 15 deletions
@@ -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) |