BTW. If you do not advise to specialize OPERATE, how do you pass arguments to PERFORM?
MA On Fri, Mar 19, 2021 at 7:45 PM Robert Goldman <rpgold...@sift.info> wrote: > P.S. I don't recommend writing your own OPERATE methods -- OPERATE is > quite complicated and messing with it could lead you into very deep water. > I don't believe you should ever need to. > > On 19 Mar 2021, at 13:42, Robert Goldman wrote: > > Hi. I'm happy to help you work through this, but so that it doesn't recur > as a problem, I'd appreciate it if you would help me fix the manual's > discussion of this. > > First, have you read this page > https://common-lisp.net/project/asdf/asdf.html#Creating-new-operations ? > > Please have a look at that -- it's not very long -- and let us know what > more needs to be supplied. > > I note the discussion of operation-done-p. I suspect that is your problem > -- your new operation is not aware that it needs to be performed. > > This page is substantially redundant with the pages on the object model, > and should be beefed up with cross-references, and more inclusion of > docstrings... > > On 19 Mar 2021, at 12:58, Marco Antoniotti wrote: > > Hi > > I am trying to create a new ASDF:OPERATION, but I must be missing > something and the manual (or Google) does not seem to help much. > > How do you create a new operation, which may be quite simple? Or better, > how do you get PERFORM and/or OPERATE to actually do something for you. > > I know I should RTFM, but in this case it is more of a RTFC, which is far > more difficult. > > I tried the following > > (defclass my-op (non-propagating-operation) ()) > > (defmethod perform ((o my-op) (s system)) > (print 42)) > > (defmethod operate ((o my-op) (s system) &key &allow-other-keys) > (print 666)) > > But then, doing > > cl-user 42> (operate 'my-op (find-system "somesys") :bar 1024) > #<MY-OP > > #<ASDF/PLAN:SEQUENTIAL-PLAN 2301B97B> > > is all I get. > > Any tutorial or advice? > > Thanks > > -- > Marco Antoniotti, Associate Professor tel. +39 - 02 64 48 79 01 > DISCo, Università Milano Bicocca U14 2043 http://dcb.disco.unimib.it > Viale Sarca 336 > I-20126 Milan (MI) ITALY > > -- Marco Antoniotti, Associate Professor tel. +39 - 02 64 48 79 01 DISCo, Università Milano Bicocca U14 2043 http://dcb.disco.unimib.it Viale Sarca 336 I-20126 Milan (MI) ITALY