0.8.4.35:
authorChristophe Rhodes <csr21@cam.ac.uk>
Sun, 19 Oct 2003 19:09:11 +0000 (19:09 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Sun, 19 Oct 2003 19:09:11 +0000 (19:09 +0000)
One last little PCL frob
... when declaring defgenerics, don't foolishly assume that all
extended function names are of the form (SETF ..)
... now internal PCL generic functions can have lambda lists
... and that's all of the ones at startup, so let's write an
internalsish test to ensure that it stays that way

src/pcl/boot.lisp
src/pcl/slots-boot.lisp
version.lisp-expr

index 53bc73e..40c13b4 100644 (file)
@@ -1524,8 +1524,6 @@ bootstrapping.
                 *))))
 
 (defun defgeneric-declaration (spec lambda-list)
-  (when (consp spec)
-    (setq spec (get-setf-fun-name (cadr spec))))
   `(ftype ,(ftype-declaration-from-lambda-list lambda-list spec) ,spec))
 \f
 ;;;; early generic function support
index a283337..43bf09a 100644 (file)
           initargs)))
 
 (defun initialize-internal-slot-gfs (slot-name &optional type)
-  (macrolet ((frob (type name-fun add-fun)
+  (macrolet ((frob (type name-fun add-fun ll)
               `(when (or (null type) (eq type ',type))
                 (let* ((name (,name-fun slot-name))
-                       (gf (ensure-generic-function name))
+                       (gf (ensure-generic-function name
+                                                    :lambda-list ',ll))
                        (methods (generic-function-methods gf)))
                   (when (or (null methods)
                             (plist-value gf 'slot-missing-method))
                     (setf (plist-value gf 'slot-missing-method) nil)
                     (,add-fun *the-class-slot-object* gf slot-name))))))
-    (frob reader slot-reader-name add-reader-method)
-    (frob writer slot-writer-name add-writer-method)
-    (frob boundp slot-boundp-name add-boundp-method)))
+    (frob reader slot-reader-name add-reader-method (object))
+    (frob writer slot-writer-name add-writer-method (new-value object))
+    (frob boundp slot-boundp-name add-boundp-method (object))))
index 0603f01..04610ef 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.4.34"
+"0.8.4.35"