[Top][All Lists]

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

Confusion about org-confirm-babel-evaluate's behavior while exporting lo

From: 吴锐扬
Subject: Confusion about org-confirm-babel-evaluate's behavior while exporting lob calls
Date: Wed, 14 Oct 2020 16:18:44 -0400


I have org-confirm-babel-evaluate set to t by default. With this, I expect to 
be queried with the execution of every code block or lob call. However, this 
does not happen when exporting lob calls (to latex for example). Here is an 

1. Exporting code block (with evaluation)
#+name: foo
#+begin_src emacs-lisp :exports both
  (message "hello world!")

When exporting this to latex, I get queried as expected. And there is no way to 
suppress the query unless I change org-confirm-babel-evaluate to nil.

2. Exporting lob call
#+name: foo
#+begin_src emacs-lisp
  (message "hello world!")

#+call: foo()

When exporting this to latex, I don’t get queried. This seems dangerous to me.

I find it hard to explain this inconsistency. If org-confirm-babel-evaluate is 
designed to be a protective layer, then a user might export an org file that 
includes malicious code along with a lob call, while unawarely execute that 
code without being warned. This seems to defeat the purpose of 

As I searched the archive, I found this change was introduced in the following 
thread: https://lists.gnu.org/archive/html/emacs-orgmode/2013-04/msg00764.html

+             (let (org-confirm-babel-evaluate)
+               (org-babel-execute-src-block nil info))))))))))

Do you think this is the intended behavior of org-confirm-babel-evaluate, or am 
I missing something?


reply via email to

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