Am I the only one encountering problems with sbcl-mt on Debian unstable? If I run M-x slime the thing are gettig compiled but at the end I get:
; in: LAMBDA NIL ; (SWANK-BACKEND::SBCL-PACKAGE-P SWANK-LOADER::P) ; ; caught STYLE-WARNING: ; undefined function: SWANK-BACKEND::SBCL-PACKAGE-P
; (SWANK-BACKEND::SHEBANG-READTABLE) ; ; caught STYLE-WARNING: ; undefined function: SWANK-BACKEND::SHEBANG-READTABLE
; ; caught STYLE-WARNING: ; These functions are undefined: ; SWANK-BACKEND::SBCL-PACKAGE-P SWANK-BACKEND::SHEBANG-READTABLE ; ; compilation unit finished ; caught 3 STYLE-WARNING conditions
I simply did not get it, this is what one can find in swank-sbcl.lisp (defun feature-in-list-p (feature list) (etypecase feature (symbol (member feature list :test #'eq)) (cons (flet ((subfeature-in-list-p (subfeature) (feature-in-list-p subfeature list))) (ecase (first feature) (:or (some #'subfeature-in-list-p (rest feature))) (:and (every #'subfeature-in-list-p (rest feature))) (:not (let ((rest (cdr feature))) (if (or (null (car rest)) (cdr rest)) (error "wrong number of terms in compound feature ~S" feature) (not (subfeature-in-list-p (second feature)))))))))))
(defun shebang-reader (stream sub-character infix-parameter) (declare (ignore sub-character)) (when infix-parameter (error "illegal read syntax: #~D!" infix-parameter)) (let ((next-char (read-char stream))) (unless (find next-char "+-") (error "illegal read syntax: #!~C" next-char)) ;; When test is not satisfied ;; FIXME: clearer if order of NOT-P and (NOT NOT-P) were reversed? then ;; would become "unless test is satisfied".. (when (let* ((*package* (find-package "KEYWORD")) (*read-suppress* nil) (not-p (char= next-char #-)) (feature (read stream))) (if (feature-in-list-p feature *features*) not-p (not not-p))) ;; Read (and discard) a form from input. (let ((*read-suppress* t)) (read stream t nil t)))) (values))
(defvar *shebang-readtable* (let ((*readtable* (copy-readtable nil))) (set-dispatch-macro-character ## #! (lambda (s c n) (shebang-reader s c n)) *readtable*) *readtable*))
(defun shebang-readtable () *shebang-readtable*)
(defun sbcl-package-p (package) (let ((name (package-name package))) (eql (mismatch "SB-" name) 3)))
Well if something is defined than this functions or what am I missing?
Friedrich