[plt-scheme] Announce: GUIBuilder HOWTO/Tutorial Released

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Tue Aug 31 12:46:45 EDT 2004

At Tue, 31 Aug 2004 14:23:43 -0500, ctest at neural.dlsemc.com wrote:
> I've written A HOWTO/Tutorial for guibuilder (for drscheme)

This is neat!

You've gone through a lot of trouble to use a tool that I never
finished, so the least I can do is fix the bugs...

>       * Report the Guibuilder "save bug" rather then just
>         try to work around it.

Is this the bug where the Scheme name of a frame gets lost? I've
exp-tagged a repair in CVS. Beware that files saved after the repair
will not load correctly with the old code.

On the continuation trick: If I'm reading the code right, it exploits a
bug in v20x, which permits certain continuation jumps that should
instead be blocked (for the safety of the underlying event dispatcher).

I think that you want something like:

 (let ([sema (make-semaphore)]
       [result #f])
   ... ; Make the frame.
       ; In the button callback to continue, `(semaphore-post sema)'
       ;  and set! the result into `result'
  (yield sema)
  (close-window ...)

The `sema'/`yield' combination is essentially what happens with dialogs,
where closing the dialog posts to the semaphore.

Does something like that work for you?


Posted on the users mailing list.