diff options
author | Eric Schulte <schulte.eric@gmail.com> | 2010-10-16 09:28:05 -0600 |
---|---|---|
committer | Dan Davison <davison@stats.ox.ac.uk> | 2010-10-21 13:06:00 +0100 |
commit | 71d50277b500350e02361563565b4a2ef98f7082 (patch) | |
tree | a2b508a9ab76b519c28e1f49ecdce12b51b6de02 | |
parent | 1412447d61dc637188d4e638258934930f038125 (diff) | |
download | org-mode-71d50277b500350e02361563565b4a2ef98f7082.tar.gz |
ob: only sort parameters if it's required for caching
* lisp/ob.el (org-babel-execute-src-block): only sort parameters if
it's required for caching
-rw-r--r-- | lisp/ob.el | 22 |
1 files changed, 12 insertions, 10 deletions
@@ -357,16 +357,18 @@ block." (let ((info (or info (org-babel-get-src-block-info)))) (when (org-babel-confirm-evaluate info) (let* ((lang (nth 0 info)) - (params (setf - (nth 2 info) - (sort (org-babel-merge-params (nth 2 info) params) - (lambda (el1 el2) (string< (symbol-name (car el1)) - (symbol-name (car el2))))))) - (new-hash - (if (and (cdr (assoc :cache params)) - (string= "yes" (cdr (assoc :cache params)))) - (org-babel-sha1-hash info))) - (old-hash (org-babel-result-hash info)) + (params (org-babel-merge-params (nth 2 info) params)) + (cache? (and (cdr (assoc :cache params)) + (string= "yes" (cdr (assoc :cache params))))) + (params (setf (nth 2 info) + (if cache? + (sort params + (lambda (el1 el2) + (string< (symbol-name (car el1)) + (symbol-name (car el2))))) + params))) + (new-hash (when cache? (org-babel-sha1-hash info))) + (old-hash (when cache? (org-babel-result-hash info))) (body (setf (nth 1 info) (if (and (cdr (assoc :noweb params)) (string= "yes" (cdr (assoc :noweb params)))) |