[slime-devel] sbcl-mt on Debian unstable
Friedrich Dominicus
frido at q-software-solutions.com
Wed Jun 16 15:19:17 UTC 2004
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
More information about the slime-devel
mailing list