diff options
author | Sebastian Miele <sebastian.miele@gmail.com> | 2019-10-20 21:34:02 +0000 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2019-11-24 10:27:35 +0100 |
commit | 0e70e2a42b1e171f6b2b0f9a95780e62ecd2b0ff (patch) | |
tree | fe13cc21e35d624afac6f557a3192badba918bad | |
parent | f4e5b75b47ba40fe4a9848d5d2cc09559de9039c (diff) | |
download | org-mode-0e70e2a42b1e171f6b2b0f9a95780e62ecd2b0ff.tar.gz |
ob-core: Respect COMMENTed headlines when expanding noweb references
* lisp/ob-core.el (org-babel-expand-noweb-references): Add calls to
org-in-commented-heading-p where appropriate.
-rw-r--r-- | lisp/ob-core.el | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/lisp/ob-core.el b/lisp/ob-core.el index b1b071d..f877ff5 100644 --- a/lisp/ob-core.el +++ b/lisp/ob-core.el @@ -59,6 +59,7 @@ (declare-function org-element-type "org-element" (element)) (declare-function org-entry-get "org" (pom property &optional inherit literal-nil)) (declare-function org-escape-code-in-region "org-src" (beg end)) +(declare-function org-in-commented-heading-p "org" (&optional no-inheritance)) (declare-function org-indent-line "org" ()) (declare-function org-list-get-list-end "org-list" (item struct prevs)) (declare-function org-list-prevs-alist "org-list" (struct)) @@ -2780,7 +2781,8 @@ block but are passed literally to the \"example-block\"." (concat (funcall c-wrap (car cs)) "\n" b "\n" (funcall c-wrap (cadr cs))))))))) - (if (re-search-forward name-regexp nil t) + (if (and (re-search-forward name-regexp nil t) + (not (org-in-commented-heading-p))) ;; Found a source block named SOURCE-NAME. ;; Assume it is unique; do not look after ;; `:noweb-ref' header argument. @@ -2791,14 +2793,16 @@ block but are passed literally to the \"example-block\"." ;; those with a matching Noweb reference. (let ((expansion nil)) (org-babel-map-src-blocks nil - (let* ((info (org-babel-get-src-block-info 'light)) - (parameters (nth 2 info))) - (when (equal source-name - (cdr (assq :noweb-ref parameters))) - (push (funcall expand-body info) expansion) - (push (or (cdr (assq :noweb-sep parameters)) - "\n") - expansion)))) + (unless (org-in-commented-heading-p) + (let* ((info + (org-babel-get-src-block-info 'light)) + (parameters (nth 2 info))) + (when (equal source-name + (cdr (assq :noweb-ref parameters))) + (push (funcall expand-body info) expansion) + (push (or (cdr (assq :noweb-sep parameters)) + "\n") + expansion))))) (when expansion (mapconcat #'identity (nreverse (cdr expansion)) |