Commit de393e0d authored by Christophe Rhodes's avatar Christophe Rhodes
Browse files

0.8.4.35:

	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
parent 3ed86355
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -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))

;;;; early generic function support
+6 −5
Original line number Diff line number Diff line
@@ -469,15 +469,16 @@
	   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))))
+1 −1
Original line number Diff line number Diff line
@@ -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"