1c1 < ;;; ob-lisp.el --- org-babel functions for common lisp evaluation with SLY or SLIME. --- > ;;; ob-lisp.el --- org-babel functions for common lisp evaluation 3c3 < ;; Copyright (C) 2016-2020 Free Software Foundation, Inc. --- > ;; Copyright (C) 2009-2016 Free Software Foundation, Inc. 5,11c5,9 < ;; Authors: stardiviner < ;; Maintainer: stardiviner < ;; Keywords: org babel lisp sly slime < ;; URL: https://github.com/stardiviner/ob-lisp < ;; Created: 1th March 2016 < ;; Version: 0.0.1 < ;; Package-Requires: ((org "8")) --- > ;; Authors: Joel Boehland > ;; Eric Schulte > ;; David T. O'Toole > ;; Keywords: literate programming, reproducible research > ;; Homepage: http://orgmode.org 30c28 < ;;; Support for evaluating Common Lisp code, relies on SLY or SLIME for all eval. --- > ;;; support for evaluating common lisp code, relies on slime for all eval 34,37c32,33 < ;; Requires SLY (Sylvester the Cat's Common Lisp IDE) and SLIME < ;; See: < ;; - https://github.com/capitaomorte/sly < ;; - http://common-lisp.net/project/slime/ --- > ;; Requires SLIME (Superior Lisp Interaction Mode for Emacs.) > ;; See http://common-lisp.net/project/slime/ 42,50c38 < (defcustom org-babel-lisp-eval-fn "sly-eval" < "The function to be called to evaluate code on the Lisp side." < :group 'org-babel < :version "24.1" < :options '("sly-eval" "slime-eval") < :type 'stringp) < < < ;; (declare-function sly-eval "ext:sly" (sexp &optional package)) --- > (declare-function slime-eval "ext:slime" (sexp &optional package)) 70,80c58,68 < (result-params (cdr (assoc :result-params params))) < (print-level nil) (print-length nil) < (body (org-babel-trim < (if (> (length vars) 0) < (concat "(let (" < (mapconcat < (lambda (var) < (format "(%S (quote %S))" (car var) (cdr var))) < vars "\n ") < ")\n" body ")") < body)))) --- > (result-params (cdr (assoc :result-params params))) > (print-level nil) (print-length nil) > (body (org-babel-trim > (if (> (length vars) 0) > (concat "(let (" > (mapconcat > (lambda (var) > (format "(%S (quote %S))" (car var) (cdr var))) > vars "\n ") > ")\n" body ")") > body)))) 82,83c70,71 < (member "pp" result-params)) < (format "(pprint %s)" body) --- > (member "pp" result-params)) > (format "(pprint %s)" body) 86d73 < ;;;###autoload 88,91c75,76 < "Execute a block `BODY' with `PARAMS' of Common Lisp code with Babel." < (pcase org-babel-lisp-eval-fn < ("slime-eval" (require 'slime)) < ("sly-eval" (require 'sly))) --- > "Execute a block of Common Lisp code with Babel." > (require 'slime) 94,108c79,92 < (funcall (if (member "output" (cdr (assoc :result-params params))) < #'car #'cadr) < (with-temp-buffer < (insert (org-babel-expand-body:lisp body params)) < (funcall org-babel-lisp-eval-fn < `(swank:eval-and-grab-output < ,(let ((dir (if (assoc :dir params) < (cdr (assoc :dir params)) < default-directory))) < (format < (if dir (format org-babel-lisp-dir-fmt dir) < "(progn %s\n)") < (buffer-substring-no-properties < (point-min) (point-max))))) < (cdr (assoc :package params))))))) --- > (funcall (if (member "output" (cdr (assoc :result-params params))) > #'car #'cadr) > (with-temp-buffer > (insert (org-babel-expand-body:lisp body params)) > (slime-eval `(swank:eval-and-grab-output > ,(let ((dir (if (assoc :dir params) > (cdr (assoc :dir params)) > default-directory))) > (format > (if dir (format org-babel-lisp-dir-fmt dir) > "(progn %s\n)") > (buffer-substring-no-properties > (point-min) (point-max))))) > (cdr (assoc :package params))))))) 115c99 < (cdr (assoc :colnames params))) --- > (cdr (assoc :colnames params))) 117c101 < (cdr (assoc :rownames params))))) --- > (cdr (assoc :rownames params)))))