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)


------------------------------------------------------------------------------