summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Miele <sebastian.miele@gmail.com>2019-10-20 21:34:02 +0000
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2019-11-24 10:27:35 +0100
commit0e70e2a42b1e171f6b2b0f9a95780e62ecd2b0ff (patch)
treefe13cc21e35d624afac6f557a3192badba918bad
parentf4e5b75b47ba40fe4a9848d5d2cc09559de9039c (diff)
downloadorg-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.el22
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))