From 967daef9fd4f6db2f4c0ebf862c1f53c974a633d Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Fri, 24 Jul 2020 23:38:41 +0100 Subject: [PATCH] dot/lisp-init.lisp: Get SBCL to ignore inconsistent package redefinition. This is all very unpleasant. Sorry. --- dot/lisp-init.lisp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/dot/lisp-init.lisp b/dot/lisp-init.lisp index 08dce6e..845aa5e 100644 --- a/dot/lisp-init.lisp +++ b/dot/lisp-init.lisp @@ -50,6 +50,24 @@ #+sbcl (sb-ext:set-sbcl-source-location #p"/usr/share/sbcl-source/") +;; Get SBCL to shut up about package variance. This is a standard result of +;; my approach to symbol exports, and I don't care. +#+sbcl +(progn + (unless (fboundp 'real-note-package-variance) + (setf (symbol-function 'real-note-package-variance) + (symbol-function 'sb-impl::note-package-variance))) + (handler-bind ((sb-ext:package-lock-violation #'continue) + (sb-kernel:redefinition-warning #'muffle-warning)) + (defun sb-impl::note-package-variance + (&rest args &key package &allow-other-keys) + (let ((ignore (getf sb-ext:*on-package-variance* :ignore))) + (unless (or (eq ignore t) + (and (listp ignore) + (member (package-name package) ignore))) + (apply #'real-note-package-variance args))))) + (setf sb-ext:*on-package-variance* '(:ignore t))) + ;; Tell some Lisps about my home directory. CMU CL already has a search list ;; which does the same job, and CCL sets up a logical-pathname host. #+(and unix (or sbcl clisp ecl abcl)) -- 2.11.0