From 0e70e2a42b1e171f6b2b0f9a95780e62ecd2b0ff Mon Sep 17 00:00:00 2001 From: Sebastian Miele Date: Sun, 20 Oct 2019 21:34:02 +0000 Subject: [PATCH] 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. --- lisp/ob-core.el | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/lisp/ob-core.el b/lisp/ob-core.el index b1b071dc4..f877ff51b 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))