[cells-gtk-devel] Cells-gtk on Lispworks 5.0

Bill Atkins atkinw at rpi.edu
Sat Aug 12 13:58:38 UTC 2006


It turns out this problem never happens if I only call START-APP from
the listener.  As soon as I call it from the LispWorks editor,
something happens that prevents me from calling START-APP again.  It
seems like the main difference between evaluating a form at the
listener and in the editor is that LispWorks starts a new thread for
forms evaluated in the editor.  Perhaps this interferes with Gtk
somehow.  I can at least get some work done with this:

(defun gtk-demo (&optional dbg)
 (unless (search "Listener" (mp:process-name mp:*current-process*))
   (error "Run only from the listener"))
 (cells-gtk-init)
 (cells-gtk:start-app 'tets-gtk :debug dbg))

but that's not solving the problem.  If this (i.e. spawning a new
thread  to run gtk-main breaking future calls to it) rings a bell with
anyone, let me know.  I'll post here if I find something that works.

Bill

On 8/10/06, Peter Denno <peter.denno at nist.gov> wrote:
> On Thursday 10 August 2006 13:26, Bill Atkins wrote:
> > Is anyone using Cells-gtk successfully on Lispworks 5.0 (32-bit Linux,
> > in particular)?  I can run my application once, but if I close the
> > main window and then attempt to run it again, I get "Evaluating..." in
> > the echo area and no window appears.
> >
> > I eventually took part of the test-gtk.lisp code, narrowed it down to
> > the simplest case and tried that.  It still didn't work.  Strangely
> > enough, loading the "test-gtk" package and running TEST-GTK:GTK-DEMO
> > does not have this problem - that is, I can run that as many times as
> > I like, and I get a window each time.  SBCL, however, seems to handle
> > both of these without a problem.  I've pasted the source code to my
> > test case and also the debug output from the first run (ie the run
> > that works) and from the second run, where LispWorks seems to be
> > perpetually "Evaluating...".
> >
> > Here is the paste: http://paste.lisp.org/display/23932
>
>
> Hi,
>
> You might have a look at start-app in root/cells-gtk/gtk-app.lisp. I coded the
> use of restarts in that code. Despite reading up abot restarts in Practical
> Common Lisp, I still don't think I quite understand them. So that code is
> suspect, especially because it has #+lispworks in it. Maybe you could try the
> code in start-app that currently is #-lispworks. It simply runs gtk-main. The
> idea of the the #+lispworks alternative (stuff with
> process-wait-with-timeout) is to give other processes (slime in particular) a
> chance to run.
>
> I don't have LW 5.0 yet so I probably can't be much help.
>
>
>
> --
> - Best regards,
>    Peter
> _______________________________________________
> cells-gtk-devel site list
> cells-gtk-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/cells-gtk-devel
>


-- 
Bill Atkins



More information about the cells-gtk-devel mailing list