[plt-scheme] mred in console mode on Debian

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sun Apr 13 13:10:35 EDT 2008

This is a common confusion, and v4 is an opportunity to make things
less confusing. So...

In SVN, I've changed MrEd so that -z creates a text-based REPL that
behaves more like the GUI REPL. In particular, it creates a new
eventspace for interaction, and it evaluates by queuing interactions to
the created eventspace's handler thread.

Matthew

At Sun, 13 Apr 2008 09:16:53 -0500, "Robby Findler" wrote:
> Your REPL thread and the thread that handles GUI events are one and
> the same thread. This means you're blocking the handling of events by
> the "read" that is sitting waiting for input in the REPL.
> 
> You should be able to see this by evaluating (yield) a few times in
> the REPL to handle the queue'd up events.
> 
> Probably the simplest thing is for you to do to fix this is to create
> a new thread to handle the REPL and have the evaluator of that REPL
> queue callbacks to that one thread to do the actual evaluation, so you
> don't accidentally introduce concurrency into your program. You might
> find this ICFP paper helpful:
> 
> http://www.ccs.neu.edu/scheme/pubs/#icfp99-ffkf
> 
> (Continue on this road for too long and you'll end up with DrScheme :).
> 
> Robby
> 
> On Sun, Apr 13, 2008 at 9:12 AM, dragal V2.0.3 <dragal23 at gmail.com> wrote:
> > Hi,
> >
> >  I want to run mred under emacs. Running mred with the -z option seemed
> >  to fix this until I tried the test case below
> >
> >  (define frame (instantiate frame% ("Example")))
> >  (define msg (instantiate message% ("Hello World!" frame)))
> >  (send frame show #t)
> >
> >  Which displayed a window of the right size, but no text within it. The
> >  above does not work correctly running mred -z directly on the console,
> >  however it does work when mred is run with no arguments.
> >
> >  What is the cause of this and how do I fix it?
> >
> >  Dragal
> >  _________________________________________________
> >   For list-related administrative tasks:
> >   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> >
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme


Posted on the users mailing list.