From 7615a81235a0f538b8dd9d39d4fb4503534e1020 Mon Sep 17 00:00:00 2001
From: pmai <pmai>
Date: Fri, 11 Oct 2002 15:15:03 +0000
Subject: [PATCH] Committed patch by Gerd Moellmann to add the AMOP-mandated
 generic function generic-function-argument-precedence-order.  Closes the
 Entomotomy bug generic-function-argument-precedence-order-missing.

---
 pcl/generic-functions.lisp |  5 ++++-
 pcl/methods.lisp           | 10 +++++++++-
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/pcl/generic-functions.lisp b/pcl/generic-functions.lisp
index 93158a8f6..54cd8ecf8 100644
--- a/pcl/generic-functions.lisp
+++ b/pcl/generic-functions.lisp
@@ -2,7 +2,7 @@
 ;;;
 
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/generic-functions.lisp,v 1.11 2002/10/09 14:19:11 pmai Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/generic-functions.lisp,v 1.12 2002/10/11 15:15:03 pmai Exp $")
 ;;;
 
 (in-package :pcl)
@@ -150,6 +150,9 @@
 (defgeneric generic-function-name (standard-generic-function))
 ;          (standard-generic-function)
 
+(defgeneric generic-function-argument-precedence-order (generic-function))
+;          (standard-generic-function)
+
 (defgeneric gf-arg-info (standard-generic-function))
 ;          (standard-generic-function)
 
diff --git a/pcl/methods.lisp b/pcl/methods.lisp
index bba7a2e9b..121b1f19b 100644
--- a/pcl/methods.lisp
+++ b/pcl/methods.lisp
@@ -26,7 +26,7 @@
 ;;;
 
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/methods.lisp,v 1.16 2002/09/09 15:02:56 pmai Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/methods.lisp,v 1.17 2002/10/11 15:15:03 pmai Exp $")
 ;;;
 
 (in-package :pcl)
@@ -505,6 +505,14 @@
 ;;;
 ;;;
 
+(defmethod generic-function-argument-precedence-order
+    ((gf standard-generic-function))
+  (assert (eq *boot-state* 'complete))
+  (loop with arg-info = (gf-arg-info gf)
+	with lambda-list = (arg-info-lambda-list arg-info)
+	for argument-position in (arg-info-precedence arg-info)
+	collect (nth argument-position lambda-list)))
+
 (defmethod generic-function-lambda-list ((gf generic-function))
   (gf-lambda-list gf))
 
-- 
GitLab