X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fdefclass.lisp;h=5d79f0e2a049e949eba4da98d05115553a52c177;hb=57b330cc8334015f9953d7fb82a30afc82d2a471;hp=831dcdd8a73ca018d4059c0e467e1c7c8c945b8c;hpb=970dd272dc84f7420252eadb4829cc193f795716;p=sbcl.git diff --git a/src/pcl/defclass.lisp b/src/pcl/defclass.lisp index 831dcdd..5d79f0e 100644 --- a/src/pcl/defclass.lisp +++ b/src/pcl/defclass.lisp @@ -72,7 +72,8 @@ ',*readers-for-this-defclass* ',*writers-for-this-defclass* ',*slot-names-for-this-defclass* - (sb-c:source-location))))) + (sb-c:source-location) + ',(safe-code-p env))))) (if defstruct-p (progn ;; FIXME: (YUK!) Why do we do this? Because in order @@ -120,7 +121,7 @@ (defun canonize-defclass-options (class-name options) (maplist (lambda (sublist) (let ((option-name (first (pop sublist)))) - (when (member option-name sublist :key #'first) + (when (member option-name sublist :key #'first :test #'eq) (error 'simple-program-error :format-control "Multiple ~S options in DEFCLASS ~S." :format-arguments (list option-name class-name))))) @@ -144,7 +145,7 @@ (:default-initargs (let (initargs arg-names) (doplist (key val) (cdr option) - (when (member key arg-names) + (when (member key arg-names :test #'eq) (error 'simple-program-error :format-control "~@