1
0
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-11-23 07:18:53 +00:00

tangle checks for COMMENT in parent headlines

* lisp/ob-tangle.el (org-babel-under-commented-heading-p): Check if
  the point is under a commented heading (including parents).
  (org-babel-tangle-collect-blocks): Don't tangle blocks is under a
  commented heading (including parents).
This commit is contained in:
Eric Schulte 2013-10-19 15:52:31 -06:00
parent fe27ca9906
commit af80144976

View File

@ -355,6 +355,15 @@ that the appropriate major-mode is set. SPEC has the form:
insert-comment
(org-fill-template org-babel-tangle-comment-format-end link-data)))))
(defun org-babel-under-commented-heading-p ()
"Return t if currently under a commented heading."
(if (string-match (concat "^" org-comment-string)
(nth 4 (org-heading-components)))
t
(save-excursion
(and (org-up-heading-safe)
(org-babel-under-commented-headline-p)))))
(defvar org-comment-string) ;; Defined in org.el
(defun org-babel-tangle-collect-blocks (&optional language tangle-file)
"Collect source blocks in the current Org-mode file.
@ -379,7 +388,7 @@ can be used to limit the collected code blocks by target file."
(let* ((info (org-babel-get-src-block-info 'light))
(src-lang (nth 0 info))
(src-tfile (cdr (assoc :tangle (nth 2 info)))))
(unless (or (string-match (concat "^" org-comment-string) current-heading)
(unless (or (org-babel-under-commented-heading-p)
(string= (cdr (assoc :tangle (nth 2 info))) "no")
(and tangle-file (not (equal tangle-file src-tfile))))
(unless (and language (not (string= language src-lang)))