[mcclim-devel] problem with format-graph-from-roots, ACL 6.2

rpgoldman at sift.info rpgoldman at sift.info
Fri Apr 1 22:40:41 UTC 2005


I took some code invoking format-graph-from-roots from before the
mothering release and was trying to run it, and got a crash.

I traced fairly far down the stack and found something anomalous that
I was hoping someone could help me with.  

In the course of drawing one of my graph-nodes, I get to this point in
the stack:


[1c] GRAPH-MDP(108): :fr
((METHOD INVOKE-WITH-DRAWING-OPTIONS (SHEET T))
 #<APPLICATION-PANE APP @ #x72139792>
 #<Closure (FLET DRAW-TAEMS-NODE #:G7069) @ #xbfff547a> :INK
 #.+FOREGROUND-INK+ :TEXT-STYLE
 #<STANDARD-TEXT-STYLE :FIX :ROMAN :NORMAL>)

Now what's odd in that is that I seem to be using the method for the
case where the first parameter is of unrestricted type (T).  But there
is ANOTHER (better?) definition for the case where the first argument
is a SHEET.

As far as I can tell, the second argument IS a sheet:

[1c] GRAPH-MDP(111): (setf foo (second *))
#<APPLICATION-PANE APP @ #x72139792>
[1c] GRAPH-MDP(112): (clim::sheetp foo)
T
[1c] GRAPH-MDP(113): (typep foo 'clim::sheet)
T

I think the upshot of this is that the extra arguments (the drawing
options) are tossed away, instead of being passed on to the closure.

At the end of the day, this means that we try to call
invoke-with-sheet-medium-bound with the arguments:

CLOSURE NIL CLIM-CLX::CLX-MEDIUM

whereas that generic function seems to expect

CLOSURE MEDIUM-OR-NIL SHEET

Thanks,
R



More information about the mcclim-devel mailing list