Make it possible to use buffer local noweb start/end patterns

* lisp/ob.el (org-babel-expand-noweb-references): Capture current
noweb start and end patterns then use to set buffer locals in
(with-temp-buffer) form.

This solves the problem that using different patterns for
org-babel-noweb-wrap-start and org-babel-noweb-wrap-end could be done
only globally.

TINYCHANGE
This commit is contained in:
Sean O'Halpin 2012-08-25 23:22:24 +01:00 committed by Bastien Guerry
parent c32d456f72
commit 4b6b6f4799
1 changed files with 4 additions and 0 deletions

View File

@ -2270,6 +2270,8 @@ block but are passed literally to the \"example-block\"."
(info (or info (org-babel-get-src-block-info)))
(lang (nth 0 info))
(body (nth 1 info))
(ob-nww-start org-babel-noweb-wrap-start)
(ob-nww-end org-babel-noweb-wrap-end)
(comment (string= "noweb" (cdr (assoc :comments (nth 2 info)))))
(rx-prefix (concat "\\(" org-babel-src-name-regexp "\\|"
":noweb-ref[ \t]+" "\\)"))
@ -2282,6 +2284,8 @@ block but are passed literally to the \"example-block\"."
(org-babel-trim (buffer-string)))))
index source-name evaluate prefix blocks-in-buffer)
(with-temp-buffer
(org-set-local 'org-babel-noweb-wrap-start ob-nww-start)
(org-set-local 'org-babel-noweb-wrap-end ob-nww-end)
(insert body) (goto-char (point-min))
(setq index (point))
(while (and (re-search-forward (org-babel-noweb-wrap) nil t))