mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-09-12 21:40:03 +00:00
org-babel-read: Obey `org-confirm-babel-evaluate'
* lisp/ob-core.el (org-babel-read): Do not execute arbitrary Elisp without prompt, according to `org-confirm-babel-evaluate'. Reported-by: Max Nikulin <manikulin@gmail.com> Link: https://orgmode.org/list/tjct9e$179u$1@ciao.gmane.io
This commit is contained in:
parent
51bb222260
commit
10e857d428
|
@ -3170,7 +3170,16 @@ situations in which is it not appropriate."
|
|||
((and (not inhibit-lisp-eval)
|
||||
(or (memq (string-to-char cell) '(?\( ?' ?` ?\[))
|
||||
(string= cell "*this*")))
|
||||
(eval (read cell) t))
|
||||
;; Prevent arbitrary function calls.
|
||||
(if (and (memq (string-to-char cell) '(?\( ?`))
|
||||
(not (org-babel-confirm-evaluate
|
||||
;; See `org-babel-get-src-block-info'.
|
||||
(list "emacs-lisp" (format "%S" cell)
|
||||
'((:eval . yes)) nil (format "%S" cell)
|
||||
nil nil))))
|
||||
;; Not allowed.
|
||||
(user-error "Evaluation of elisp code %S aborted." cell)
|
||||
(eval (read cell) t)))
|
||||
((save-match-data
|
||||
(and (string-match "^[[:space:]]*\"\\(.*\\)\"[[:space:]]*$" cell)
|
||||
(not (string-match "[^\\]\"" (match-string 1 cell)))))
|
||||
|
|
Loading…
Reference in a new issue