Ingo,
thanks again for the patch. I it is now in CVS.
- If libcellsgtk is not used (gtk-init...) never seems to be called.
Yep, stupid typo of mine. Sorry about that.
- Also if used in a single threading environment (like clisp)
(g-thread-init...) and (gdk-threads-init) do get called which results in an error.
Hmm, I never changed that, I think. They were always called in cells-gtk if IIRC. However, if it does no harm to leave them out, then that seems the right thing to do.
Are you on windows or linux? I'm just guessing, but it might be the case that it is a GTK issue and not a cells-gtk issue whether to call them: On linux GTK supports threads, so it might be necessary to call those (even if you don't use threads yourself). On windows it doesn't, so maybe you can't call them. In this case, we should condition on :unix vs. :windows. But again, I'm just guessing. If you're on linux, then forget everything I said.
As to the call-next-method thing, the background is this: Cells uses progn method combination for observers, which is not available on clisp (or at least, used to not be available on clisp).
Therefore cells needed to imitate it by using standard method combination and (call-next-method) in every method. You see a lot of these calls in cells-gtk:
fritz@babyfoot:~/cells-gtk3/cells-gtk$ grep clisp *.lisp actions.lisp: #+clisp (call-next-method)) buttons.lisp: #+clisp (call-next-method)) buttons.lisp: #+clisp (call-next-method)) ...
However, I see that cells3 only uses this imitation on corman lisp now:
fritz@babyfoot:~/lisp/cells3.cvs$ grep progn cells.lisp (:method-combination progn)) (defmethod slot-value-observe #-(or cormanlisp) progn
So maybe this means that clisp now supports progn method combination, which the error message suggests:
#<STANDARD-GENERIC-FUNCTION SLOT-VALUE-OBSERVE>: CALL-NEXT-METHOD is invalid within PROGN methods
Than it would be time to remove all those calls to call-next-method from cells-gtk. I'd suggest you just go ahead and deactivate all those calls (e.g by conditioning on :no-progn-combination instead of :clisp), which should remove those warnings.
Cheers, Peter