From f16d040ddd8fbfc7313f2bda30bec17a6528457e Mon Sep 17 00:00:00 2001
From: gerd <gerd>
Date: Wed, 4 Jun 2003 08:47:03 +0000
Subject: [PATCH] 	FIND-METHOD.ERROR.{9,10} from Paul Dietz' tests.

	* src/pcl/methods.lisp (find-method): Signal an error if
	the number of supplied specifiers is different from the number
	of required arguments of the generic function.
---
 pcl/methods.lisp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/pcl/methods.lisp b/pcl/methods.lisp
index c11ea0102..53a26e2c4 100644
--- a/pcl/methods.lisp
+++ b/pcl/methods.lisp
@@ -26,7 +26,7 @@
 ;;;
 
 (file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/methods.lisp,v 1.35 2003/05/28 08:50:39 gerd Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/methods.lisp,v 1.36 2003/06/04 08:47:03 gerd Exp $")
 
 (in-package :pcl)
 
@@ -397,8 +397,11 @@
 
 (defmethod find-method ((gf standard-generic-function)
 			qualifiers specializers &optional (errorp t))
-  (real-get-method gf qualifiers
-		   (parse-specializers specializers) errorp))
+  (let ((nreq (count-gf-required-parameters gf)))
+    (when (/= (length specializers) nreq)
+      (error "~@<The generic function ~s takes ~d required argument~p.~@:>"
+	     gf nreq nreq))
+    (real-get-method gf qualifiers (parse-specializers specializers) errorp)))
   
 ;;;
 ;;;
-- 
GitLab