call org-confirm-babel-evaluate from code block

Always call org-confirm-babel-evaluate from the head of the code
  block being evaluated so that the info may be found with
  e.g., (org-babel-get-src-block-info 'light)

* lisp/ob-core.el (org-babel-check-confirm-evaluate): Call
  org-confirm-babel-evaluate from code block head.
This commit is contained in:
Eric Schulte 2013-10-14 07:21:59 -06:00
parent 8f8c8cbed0
commit 2eef1b4549
1 changed files with 6 additions and 3 deletions

View File

@ -287,11 +287,12 @@ hold the language of the code block, and BLOCK-NAME will hold the
name of the code block." name of the code block."
(declare (indent defun)) (declare (indent defun))
(org-with-gensyms (org-with-gensyms
(lang block-body headers name eval eval-no export eval-no-export) (lang block-body headers name head eval eval-no export eval-no-export)
`(let* ((,lang (nth 0 ,info)) `(let* ((,lang (nth 0 ,info))
(,block-body (nth 1 ,info)) (,block-body (nth 1 ,info))
(,headers (nth 2 ,info)) (,headers (nth 2 ,info))
(,name (nth 4 ,info)) (,name (nth 4 ,info))
(,head (nth 6 ,info))
(,eval (or (cdr (assoc :eval ,headers)) (,eval (or (cdr (assoc :eval ,headers))
(when (assoc :noeval ,headers) "no"))) (when (assoc :noeval ,headers) "no")))
(,eval-no (or (equal ,eval "no") (,eval-no (or (equal ,eval "no")
@ -303,8 +304,10 @@ name of the code block."
(query (or (equal ,eval "query") (query (or (equal ,eval "query")
(and ,export (equal ,eval "query-export")) (and ,export (equal ,eval "query-export"))
(if (functionp org-confirm-babel-evaluate) (if (functionp org-confirm-babel-evaluate)
(save-excursion
(goto-char ,head)
(funcall org-confirm-babel-evaluate (funcall org-confirm-babel-evaluate
,lang ,block-body) ,lang ,block-body))
org-confirm-babel-evaluate))) org-confirm-babel-evaluate)))
(code-block (if ,info (format " %s " ,lang) " ")) (code-block (if ,info (format " %s " ,lang) " "))
(block-name (if ,name (format " (%s) " ,name) " "))) (block-name (if ,name (format " (%s) " ,name) " ")))