Skip to content
Snippets Groups Projects
Commit e3fe1d2c authored by pmai's avatar pmai
Browse files

Fixes a bug in short-method-combination handling reported on

cmucl-help:  The optional order argument to method combinations
defined by the short form of define-method-combination was being
quietly ignored, resulting in the default :most-specific-first
behaviour, even if :most-specific-last was specified.  This fix makes
it respect the specified order.
parent 9ce21b91
No related branches found
No related tags found
No related merge requests found
......@@ -26,7 +26,7 @@
;;;
(ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/defcombin.lisp,v 1.11 2001/04/25 21:44:51 pmai Exp $")
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/pcl/defcombin.lisp,v 1.12 2001/09/23 19:02:12 pmai Exp $")
;;;
(in-package :pcl)
......@@ -171,6 +171,7 @@
(let ((type (method-combination-type combin))
(operator (short-combination-operator combin))
(ioa (short-combination-identity-with-one-argument combin))
(order (car (method-combination-options combin)))
(around ())
(primary ()))
(dolist (m applicable-methods)
......@@ -194,8 +195,9 @@
(push m primary))
(t
(lose m "has an illegal qualifier"))))))
(setq around (nreverse around)
primary (nreverse primary))
(setq around (nreverse around))
(unless (eq order :most-specific-last)
(setq primary (nreverse primary)))
(let ((main-method
(if (and (null (cdr primary))
(not (null ioa)))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment