From f22c6bd77441a33f11012d31f630602a831ce9ea Mon Sep 17 00:00:00 2001 From: Anthony Green Date: Sat, 10 Feb 2024 06:58:33 -0500 Subject: [PATCH] Remove quicklisp hard dependency --- lsp-api.lisp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lsp-api.lisp b/lsp-api.lisp index 0175a9c..8f3e663 100644 --- a/lsp-api.lisp +++ b/lsp-api.lisp @@ -204,7 +204,16 @@ ;;; (defun load-systems (system-names) - (ql:quickload system-names)) + "Load SYSTEM-NAMES, preferring ocicl over quicklisp when available." + (let ((ocicl-dl (find-symbol* "*DOWNLOAD*" "OCICL-RUNTIME")) + (quicklisp-ql (find-symbol* "QUICKLOAD" "QL"))) + (cond + ((ocicl-dl (eval `(let ((,ocicl-dl t)) + (dolist (s system-names) + (asdf:load-system s)))))) + ((quicklisp-ql (eval `(,quicklisp-ql system-names)))) + (t (dolist (s system-names) + (asdf:load-system s)))))) (defun compile-and-load-file (filename) (uiop:with-temporary-file (:pathname output-file :type "fasl")