<br>
i'm back with a little more info. i've spent some time trying to debug it myself, but no luck yet.<br>
<br>
i've got this action:<br>
<br>
(defaction invalidate-image :isolate ((foo foo))<br>
  (log.debug "Invalidating image")<br>
  (setf (validp (slot-value self 'image)) false))<br>
<br>
it macroexpands to this:<br>
<br>
(PROGN<br>
 (IT.BESE.UCW::%DEFACTION INVALIDATE-IMAGE-G6947<br>
                         
((FOO FOO))<br>
                         
(LOG.DEBUG "Invalidating image")<br>
                         
(SETF (VALIDP (SLOT-VALUE SELF 'IMAGE)) FALSE))<br>
 (IT.BESE.UCW::%DEFACTION INVALIDATE-IMAGE<br>
                         
((FOO FOO))<br>
                         
(IT.BESE.UCW::RUN-ISOLATED FOO<br>
                                                    
#'INVALIDATE-IMAGE-G6947<br>
                                                    
FOO)))<br>
<br>
yet, if i press C-c-c in slime, i get a warning like this:<br>
<br>
STYLE-WARNING: redefining INVALIDATE-IMAGE-G0 in DEFGENERIC<br>
STYLE-WARNING: redefining INVALIDATE-IMAGE-G0 :PRIMARY (FOO) in DEFMETHOD<br>
STYLE-WARNING: redefining INVALIDATE-IMAGE in DEFGENERIC<br>
STYLE-WARNING: redefining INVALIDATE-IMAGE :PRIMARY (FOO) in DEFMETHOD<br>
<br>
notice the method name, i have no idea what's going on. if i turn on
call/cc trace i can see that arnesi is trying to look up the *-G0 names:<br>
<br>
Evaluating #'DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G0.<br>
Got T<br>
Evaluating DWIM-PRESENTATION-TEST::FOO.<br>
Got #<DWIM-PRESENTATION-TEST::FOO {D0B4CE9}><br>
Calling function IT.BESE.UCW::RUN-ISOLATED with arguments (#<DWIM-PRESENTATION-TEST::FOO {D0B4CE9}><br>
                                                          
T<br>
                                                          
#<DWIM-PRESENTATION-TEST::FOO {D0B4CE9}>)<br>
<br>
in the first line, the function lookup, silently turns into a T?!<br>
<br>
and then i naturally get the error: "The function T is undefined."<br>
<br>
DWIM-TEST> (apropos "invalidate-image")<br>
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6942<br>
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6940<br>
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6944<br>
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6937<br>
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6946<br>
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6943<br>
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6936<br>
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6947<br>
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G0 (fbound)<br>
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6939<br>
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6945<br>
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE (fbound)<br>
; No value<br>
<br>
btw, is it necessary to generate a function definition at each
macroexpand? couldn't the :isolate code be wrapping the action body
inside the /cc code? but this is only a side-track that i would play
with if it were working.<br>
<br>
i hope someone with more insight can spot the bug from these... or am i misusing something?<br>
<br>thanks for any help,<br>
<br>- attila<br><br>(alias 101 on irc &no 'its not lisp code :)