From 68c780f58249252ff21c297287d28a74ee876aa3 Mon Sep 17 00:00:00 2001
From: pmai <pmai>
Date: Thu, 10 May 2001 21:28:41 +0000
Subject: [PATCH] Fixed buglet in the argument processing for the :METHOD-CLASS
 option to DEFGENERIC:  ENSURE-GENERIC-FUNCTION-USING-CLASS failed to coerce
 the :METHOD-CLASS argument to a class object, as specified in the AMOP, page
 187 (entry for ENSURE-GENERIC-FUNCTION-USING-CLASS).  This caused
 GENERIC-FUNCTION-METHOD-CLASS to return the uncoerced class name (i.e. a
 symbol), instead of a class, which caused both PCL internal as well as
 external code to fail.

---
 pcl/boot.lisp | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/pcl/boot.lisp b/pcl/boot.lisp
index 4ce5f1739..30f861ac4 100644
--- a/pcl/boot.lisp
+++ b/pcl/boot.lisp
@@ -26,7 +26,7 @@
 ;;;
 
 (ext:file-comment
- "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/boot.lisp,v 1.25 2001/04/10 22:37:21 pw Exp $")
+ "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/boot.lisp,v 1.26 2001/05/10 21:28:41 pmai Exp $")
 
 (in-package :pcl)
 
@@ -1615,7 +1615,10 @@ work during bootstrapping.
 	       (find-method-combination (class-prototype ,gf-class)
 					(car combin)
 					(cdr combin)))))
-     ))
+     (let ((method-class (getf ,all-keys :method-class '.shes-not-there.)))
+       (unless (eq method-class '.shes-not-there.)
+	 (setf (getf ,all-keys :method-class)
+	       (find-class method-class t ,env))))))
      
 (defun real-ensure-gf-using-class--generic-function
        (existing
-- 
GitLab