"D. Martinez" <denis.marti...@live.com> writes: > Hello. Being new to "serious" CL programming I am hitting a brick wall right > now in one CLOS project. > After some time of infructuous searching I cannot find the source of > my problem, which may be of either MKCL or ASDF but I lack the > knowledge to debug this. Mr. JCB, who I have seen active on this list, > may (hopefully!) be able to shed some light on the issue. > > The bug I encounter happens when I load the project by the means of > ASDF. I can not reproduce it otherwise. > It is triggered by a use of a custom metaclass, and it suggests that a > file is loaded more times than it should. > > I have narrowed down the problem to a small program, so here it is: > > ;;;; hello.asd > (asdf:defsystem #:hello > :description "Describe hello here" > :author "Your Name <your.n...@example.com>" > :license "Specify license here" > :serial t > :components ((:file "package") > (:file "a")) > :depends-on ()) > > ;;;; package.lisp > (defpackage #:hello > (:use #:cl)) > > ;;;; a.lisp > (in-package #:hello) > (defclass A-class (standard-class) > ()) > (defclass A (standard-object) > () (:metaclass A-class))
AFAIK, you need to define a validate-superclass method when you define a new metaclass: ---- a.lisp ------------------------------------------------------------ (in-package #:hello) (defclass A-class (standard-class) ()) (defmethod validate-superclass ((class A-class) (super standard-class)) t) (defclass A (standard-object) () (:metaclass A-class)) ---- hello.asd --------------------------------------------------------- (asdf:defsystem #:hello :description "Describe hello here" :author "Your Name <your.n...@example.com>" :license "Specify license here" :serial t :components ((:file "package") (:file "a")) :depends-on ("closer-mop")) ---- package.lisp ------------------------------------------------------ (defpackage #:hello (:use #:cl) (:import-from #:closer-mop #:validate-superclass)) ------------------------------------------------------------------------ > I will happily provide more specific info at request. The bug occured > on MKCL 1.1.9 and 1.1.10 git with bundled ASDF. I tested it with ccl. -- __Pascal Bourguignon__ http://www.informatimago.com/ “The factory of the future will have only two employees, a man and a dog. The man will be there to feed the dog. The dog will be there to keep the man from touching the equipment.” -- Carl Bass CEO Autodesk _______________________________________________ Asdf-devel mailing list Asdf-devel@common-lisp.net http://mailman.common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel