emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/org-auto-tangle bc129f881b 51/56: Permit code block evalua


From: ELPA Syncer
Subject: [nongnu] elpa/org-auto-tangle bc129f881b 51/56: Permit code block evaluation for files in safelist
Date: Mon, 6 Jun 2022 11:58:55 -0400 (EDT)

branch: elpa/org-auto-tangle
commit bc129f881bc23a2883831d5cd71fb55df8cc1163
Author: Frédéric Giquel <frederic.giquel@laposte.net>
Commit: Frédéric Giquel <frederic.giquel@laposte.net>

    Permit code block evaluation for files in safelist
---
 org-auto-tangle.el | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/org-auto-tangle.el b/org-auto-tangle.el
index 95a8d0f684..554107a303 100644
--- a/org-auto-tangle.el
+++ b/org-auto-tangle.el
@@ -56,6 +56,13 @@ If nil (default), auto-tangle will only happen on buffers 
with
 the `#+auto_tangle: t' keyword. If t, auto-tangle will happen on
 all Org buffers unless `#+auto_tangle: nil' is set.")
 
+(defvar org-auto-tangle-babel-safelist '()
+  "List of full path of files for which code blocks need to be evaluated.
+
+By default, code blocks are not evaluated during the auto-tangle to avoid
+possible code execution from unstrusted source. To enable code blocks 
evaluation
+for a specific file, add its full path to this list.")
+
 (defun org-auto-tangle-find-value (buffer)
   "Search the `auto_tangle' property in BUFFER and extracts it when found."
   (with-current-buffer buffer
@@ -74,7 +81,8 @@ all Org buffers unless `#+auto_tangle: nil' is set.")
      `(lambda ()
        (require 'org)
        (let ((start-time (current-time))
-             (non-essential t))
+             (non-essential t)
+             (org-confirm-babel-evaluate (not (member ,file 
',org-auto-tangle-babel-safelist))))
          (apply #'org-babel-tangle-file ',args)
          (format "%.2f" (float-time (time-since start-time))))))
    (let ((message-string (format "Tangling %S completed after" file)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]