asdf patch: clisp has mop
Sam Steingold <[email protected]> Mon, 29 Dec 2008 11:13:17 -0500
| Newsgroups | gmane.lisp.cclan.general |
|---|---|
| Message-ID | <[email protected]> |
clisp has full MOP (since 2005), including change-class (since 2003) & method
combinations (since 2004).
--- asdf.lisp.~1.130.~ 2008-10-15 14:56:08.000000000 -0400
+++ asdf.lisp 2008-12-29 11:10:45.000033000 -0500
@@ -705,8 +705,7 @@ the head of the tree"))
;;; So you look at this code and think "why isn't it a bunch of
;;; methods". And the answer is, because standard method combination
;;; runs :before methods most->least-specific, which is back to front
-;;; for our purposes. And CLISP doesn't have non-standard method
-;;; combinations, so let's keep it simple and aspire to portability
+;;; for our purposes.
(defgeneric traverse (operation component))
(defmethod traverse ((operation operation) (c component))
@@ -1056,9 +1055,6 @@ method.")
(cond ((and s (eq (type-of (cdr s)) ',class))
(setf (car s) (get-universal-time)))
(s
- #+clisp
- (sysdef-error "Cannot redefine the existing system ~A with a
different class" s)
- #-clisp
(change-class (cdr s) ',class))
(t
(register-system (quote ,name)
------------------------------------------------------------------------------