[Bese-devel] defaction :isolate problem (followup to actions and browser refresh)
Attila Lendvai
attila.lendvai at gmail.com
Fri Feb 24 00:32:14 UTC 2006
i'm back with a little more info. i've spent some time trying to debug it
myself, but no luck yet.
i've got this action:
(defaction invalidate-image :isolate ((foo foo))
(log.debug "Invalidating image")
(setf (validp (slot-value self 'image)) false))
it macroexpands to this:
(PROGN
(IT.BESE.UCW::%DEFACTION INVALIDATE-IMAGE-G6947
((FOO FOO))
(LOG.DEBUG "Invalidating image")
(SETF (VALIDP (SLOT-VALUE SELF 'IMAGE)) FALSE))
(IT.BESE.UCW::%DEFACTION INVALIDATE-IMAGE
((FOO FOO))
(IT.BESE.UCW::RUN-ISOLATED FOO
#'INVALIDATE-IMAGE-G6947
FOO)))
yet, if i press C-c-c in slime, i get a warning like this:
STYLE-WARNING: redefining INVALIDATE-IMAGE-G0 in DEFGENERIC
STYLE-WARNING: redefining INVALIDATE-IMAGE-G0 :PRIMARY (FOO) in DEFMETHOD
STYLE-WARNING: redefining INVALIDATE-IMAGE in DEFGENERIC
STYLE-WARNING: redefining INVALIDATE-IMAGE :PRIMARY (FOO) in DEFMETHOD
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:
Evaluating #'DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G0.
Got T
Evaluating DWIM-PRESENTATION-TEST::FOO.
Got #<DWIM-PRESENTATION-TEST::FOO {D0B4CE9}>
Calling function IT.BESE.UCW::RUN-ISOLATED with arguments
(#<DWIM-PRESENTATION-TEST::FOO {D0B4CE9}>
T
#<DWIM-PRESENTATION-TEST::FOO {D0B4CE9}>)
in the first line, the function lookup, silently turns into a T?!
and then i naturally get the error: "The function T is undefined."
DWIM-TEST> (apropos "invalidate-image")
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6942
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6940
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6944
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6937
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6946
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6943
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6936
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6947
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G0 (fbound)
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6939
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE-G6945
DWIM-PRESENTATION-TEST::INVALIDATE-IMAGE (fbound)
; No value
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.
i hope someone with more insight can spot the bug from these... or am i
misusing something?
thanks for any help,
- attila
(alias 101 on irc &no 'its not lisp code :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/bese-devel/attachments/20060224/25fd5784/attachment.html>
More information about the bese-devel
mailing list