mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-14 13:21:54 -08:00
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:
parent
4a5d2a691f
commit
cecdd74f0a
2 changed files with 8 additions and 21 deletions
|
|
@ -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 ***
|
||||
|
|
|
|||
|
|
@ -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))))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue