X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fvector.lisp;h=606acba3abf17ab2ae1117fafc9fc62fd1117a75;hb=d25e3478acccec70402ff32554669a982be8e281;hp=21874fe60a860de90b6c663448a95b127b8f613b;hpb=4ec46046e59ce00abe3e53bce16fdfb2c4c57362;p=sbcl.git diff --git a/src/pcl/vector.lisp b/src/pcl/vector.lisp index 21874fe..606acba 100644 --- a/src/pcl/vector.lisp +++ b/src/pcl/vector.lisp @@ -57,7 +57,7 @@ ;;; ...and one lock to rule them. Spinlock because for certain (rare) ;;; cases this lock might be grabbed in the course of method dispatch -;;; -- and mostly this is already under the *big-compiler-lock*. +;;; -- and mostly this is already under the *world-lock* (defvar *pv-lock* (sb-thread::make-spinlock :name "pv table index lock")) @@ -146,7 +146,7 @@ (slot-boundp 'boundp))) (var (extract-the var-form)) (slot-name (constant-form-value slot-name-form env))) - (when (symbolp var) + (when (and (symbolp var) (not (var-special-p var env))) (let* ((rebound? (caddr (var-declaration '%variable-rebinding var env))) (parameter-or-nil (car (memq (or rebound? var) required-parameters)))) @@ -574,7 +574,7 @@ (list name (pop tail)) (list name)))) (dolist (var tail) - (if (member var args) + (if (member var args :test #'eq) ;; Quietly remove IGNORE declarations on ;; args when a next-method is involved, to ;; prevent compiler warnings about ignored @@ -652,7 +652,7 @@ ;; Given a valid lambda list, extract the parameter names. (loop for x in lambda-list with res = nil - do (unless (member x lambda-list-keywords) + do (unless (member x lambda-list-keywords :test #'eq) (if (consp x) (let ((name (car x))) (if (consp name)