anchor.diff:    begin
       // TODO: without this next line (at least on freebsd)
       // it won't readkey. why not!?!
  -    if not keypressed then sleep(50);
  -
  +    if not keypressed then sleep(5);
       if keypressed then
         case kbd.ReadKey(ch) of
   	^C : halt;
  -        #0 : case kbd.ReadKey(ch) of
  -               kbd.ESC :halt;
  -             end;
         else
  -        msg := TEvent.Create(evt_keych, ord(ch));
  +        msg := TEvent.Create(evt_keych, ch);
   	if assigned(focus) and not focus.send(msg) then
   	  pass; {--  TODO: global keymap --}
         end; { case }
  
positive.code:     public
        meta : TTypeDef;
        data : TBytes;
    end;
  
    TMessage = class (TTagged, IMessage)
      sym : TSymbol;
  
negative.code: constructor TShellMorph.Create;
    begin
      inherited Create;
      clock := TClockMorph.Create;
      clock.bounds.x := 0; clock.bounds.y := 0;
      world.add(clock);
  