Fixed typo in parsing of nonstandard method combinations. Fixed signature of the macro version of CALL-METHOD (only used inside nonstandard method combinations)

This commit is contained in:
Juan Jose Garcia Ripoll 2009-05-02 13:21:10 +02:00
parent 4a5d2a691f
commit cecdd74f0a
2 changed files with 8 additions and 21 deletions

View file

@ -1,24 +1,10 @@
ECL 9.4.2:
==========
ECL 9.5:
========
* MOP:
- ALLOCATE-INSTANCE admits additional arguments which are the instance
initialization arguments.
- MAKE-INSTANCE passes the completed initargs to ALLOCATE-INSTANCE.
- MAKE-INSTANCE ensures that the class is finalized before allocating the
instance.
ECL 9.4.1:
==========
* Bugs fixed:
- Symbol NIL was not exported from the GRAY package.
- GRAY:STREAM-PEEK-CHAR was not used at all by ECL.
- CALL-METHOD has only one required argument. Affects only calls to this
macro inside nonstandard method combinations.
;;; Local Variables: ***
;;; mode:text ***

View file

@ -87,10 +87,10 @@
(declare (ignorable no-next-methods))
(funcall method .combined-method-args. rest-methods)))
(defmacro call-method (method rest-methods)
(defmacro call-method (method &optional rest-methods)
`(funcall ,(effective-method-function method)
.combined-method-args.
',(mapcar #'effective-method-function rest-methods)))
',(and rest-methods (mapcar #'effective-method-function rest-methods))))
(defun call-next-method (&rest args)
(declare (special .combined-method-args. *next-methods*))
@ -247,7 +247,8 @@
(syntax-error))
(let ((condition
(cond ((eql predicate '*) 'T)
((symbolp predicate) `(,predicate .METHOD-QUALIFIERS.))
((and predicate (symbolp predicate))
`(,predicate .METHOD-QUALIFIERS.))
((and (listp predicate)
(let* ((q (last predicate 0))
(p (copy-list (butlast predicate 0))))