(defmethod resize-sheet :after ((pane example-pane) width height) (window-clear pane) (redisplay-frame-pane (pane-frame pane) pane))
Apparently no developer has tried this as there are two time bombs waiting to blow up the call stack.
WINDOW-CLEAR, besides writing +background-ink+ over the pane, goes on to set width and height of the sheet to zero and then call CHANGE-SPACE-REQUIREMENTS, which calls RESIZE-SHEET --> BOOM!
REDISPLAY-FRAME-PANE is implemented using RESTART-CASE, which in my 35 years with CL I have never had the occasion to use. Its restartable-form manages to call itself via CALL-NEXT-METHOD (I think) which then blows the stack, which then unwinds back through various restart clauses (some which also call WINDOW-CLEAR), finally resulting in getting back to a listener prompt where one can bail out.
For my use, I have re-written those two methods in a way that works for the several places where I use resize-sheet :after with good results. The attachment is one of the test cases I used to diagnose the stack blowup. It displays a green filled circle in the center of the pane. Drag a side or corner of the frame around with your pointer device to cause the resize events to occur.
With those two changes my 15 year old CLIM2 plotting applications works quite well although there is still a few places where pointer motion or dragging yield strange results.
One other thing, if frame startup manages to silently load the NULL port, it may take a very long time to figure out why the lisp listener is dead. 🙁
Wishing you all a great new year!
Paul