Achim Gratz writes:
[…]
> in the second or the cdr of the second element of pre-info might
> directly get the new value spliced in depending on whether the original
> value is used someplace else.

Splicing seems slightly more elegant than list construction, but
pre-info needs to be preserved.  Eric, please review the attached patch,
I'm not certain about the current test coverage in that area.

>From 024e05c4de3c7598448ee97b0f986562007d5186 Mon Sep 17 00:00:00 2001
From: Achim Gratz <strom...@stromeko.de>
Date: Sat, 25 Jan 2014 08:53:33 +0100
Subject: [PATCH] ob-lob: do not use cl at runtime

* lisp/ob-lob.el (org-babel-lob-execute): Do not use defun subseq from
  cl at runtime.  Replace concatenation of sub-sequences by splicing
  the modified params list into a copy of info (pre-must info be
  preserved).
---
 lisp/ob-lob.el | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/lisp/ob-lob.el b/lisp/ob-lob.el
index c93198a..6480468 100644
--- a/lisp/ob-lob.el
+++ b/lisp/ob-lob.el
@@ -147,13 +147,14 @@ (defun org-babel-lob-execute (info)
 		      ;; Do *not* pre-process params for call line
 		      ;; hash evaluation, since for a call line :var
 		      ;; extension *is* execution.
-		      (let ((params (nth 2 pre-info)))
-			(append (subseq pre-info 0 2)
-				(list
-				 (cons
-				  (cons :c-var (cdr (assoc :var params)))
-				  (assq-delete-all :var (copy-tree params))))
-				(subseq pre-info 3))))))
+		      (let* ((params (nth 2 pre-info))
+			     (sha1-nth2 (list
+				    (cons
+				     (cons :c-var (cdr (assoc :var params)))
+				     (assq-delete-all :var (copy-tree params)))))
+			     (sha1-info (copy-tree pre-info)))
+			(prog1 sha1-info
+			  (setcar (cddr sha1-info) sha1-nth2))))))
 	 (old-hash (when cache-p (org-babel-current-result-hash pre-info)))
 	 (org-babel-current-src-block-location (point-marker)))
     (if (and cache-p (equal new-hash old-hash))
-- 
1.8.5.2


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

SD adaptations for KORG EX-800 and Poly-800MkII V0.9:
http://Synth.Stromeko.net/Downloads.html#KorgSDada

Reply via email to