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