Przeglądaj źródła

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).
Achim Gratz 11 lat temu
rodzic
commit
9973fbc347
1 zmienionych plików z 8 dodań i 7 usunięć
  1. 8 7
      lisp/ob-lob.el

+ 8 - 7
lisp/ob-lob.el

@@ -147,13 +147,14 @@ if so then run the appropriate source block from the Library."
 		      ;; Do *not* pre-process params for call line
 		      ;; Do *not* pre-process params for call line
 		      ;; hash evaluation, since for a call line :var
 		      ;; hash evaluation, since for a call line :var
 		      ;; extension *is* execution.
 		      ;; 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)))
 	 (old-hash (when cache-p (org-babel-current-result-hash pre-info)))
 	 (org-babel-current-src-block-location (point-marker)))
 	 (org-babel-current-src-block-location (point-marker)))
     (if (and cache-p (equal new-hash old-hash))
     (if (and cache-p (equal new-hash old-hash))