From 4d763f35f5ff061e717fad1c8702557a0089e0d9 Mon Sep 17 00:00:00 2001 From: Aaron Ecay Date: Thu, 18 Apr 2013 04:02:47 -0400 Subject: [PATCH] Fix bug in org-babel-execute-src-block * lisp/ob-core.el (org-babel-execute-src-block): Use `copy-tree' to prevent setf from modifying users variables withing let-bound `info' variable. Otherwise, the setf calls in this function can reach into and change other configuration variables, such as the library of babel. --- lisp/ob-core.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/ob-core.el b/lisp/ob-core.el index 97d0100f4..7b00cb842 100644 --- a/lisp/ob-core.el +++ b/lisp/ob-core.el @@ -541,7 +541,9 @@ Optionally supply a value for PARAMS which will be merged with the header arguments specified at the front of the source code block." (interactive) - (let* ((info (or info (org-babel-get-src-block-info))) + (let* ((info (if info + (copy-tree info) + (org-babel-get-src-block-info))) (merged-params (org-babel-merge-params (nth 2 info) params))) (when (org-babel-check-evaluate (let ((i info)) (setf (nth 2 i) merged-params) i)) -- 2.11.4.GIT