>From 414e0b3a18abca34bc47f07e55debec0910d4728 Mon Sep 17 00:00:00 2001 From: Juan Manuel Macias Date: Fri, 10 Jun 2022 20:12:37 +0200 Subject: [PATCH] lisp/ob-tangle.el: add the `ascii' value to the `comments' head. arg. * (org-babel-tangle-single-block): With the value ascii the comments are passed as plain text. This is useful for removing all org metadata from the source file's comments. --- lisp/ob-tangle.el | 53 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 36 insertions(+), 17 deletions(-) diff --git a/lisp/ob-tangle.el b/lisp/ob-tangle.el index 6685a1599..aed241416 100644 --- a/lisp/ob-tangle.el +++ b/lisp/ob-tangle.el @@ -525,23 +525,42 @@ non-nil, return the full association list to be used by (run-hooks 'org-babel-tangle-body-hook) (buffer-string)))) (comment - (when (or (string= "both" (cdr (assq :comments params))) - (string= "org" (cdr (assq :comments params)))) - ;; From the previous heading or code-block end - (funcall - org-babel-process-comment-text - (buffer-substring - (max (condition-case nil - (save-excursion - (org-back-to-heading t) ; Sets match data - (match-end 0)) - (error (point-min))) - (save-excursion - (if (re-search-backward - org-babel-src-block-regexp nil t) - (match-end 0) - (point-min)))) - (point))))) + (cond ((or (string= "both" (cdr (assq :comments params))) + (string= "org" (cdr (assq :comments params)))) + ;; From the previous heading or code-block end + (funcall + org-babel-process-comment-text + (buffer-substring + (max (condition-case nil + (save-excursion + (org-back-to-heading t) ; Sets match data + (match-end 0)) + (error (point-min))) + (save-excursion + (if (re-search-backward + org-babel-src-block-regexp nil t) + (match-end 0) + (point-min)))) + (point)))) + ((string= "ascii" (cdr (assq :comments params))) + ;; From the previous heading or code-block end + (let ((org-babel-process-comment-text + (lambda (str) + (org-export-string-as str 'ascii t)))) + (funcall + org-babel-process-comment-text + (buffer-substring + (max (condition-case nil + (save-excursion + (org-back-to-heading t) ; Sets match data + (match-beginning 0)) + (error (point-min))) + (save-excursion + (if (re-search-backward + org-babel-src-block-regexp nil t) + (match-beginning 0) + (point-min)))) + (point))))))) (src-tfile (cdr (assq :tangle params))) (result (list start-line -- 2.36.1