anchor.diff:    end;
   
   procedure TImpForth.NotFound;
  -  begin
  -    msg := tok + '?';
  +  begin Error(tok + '?')
  +  end;
  +
  +procedure TImpForth.Error( s : TStr );
  +  begin if assigned(OnError) then OnError(s)
     end;
   
   
positive.code:   var i : integer;
    begin
      tok := token;
      if Lookup then Interpret
      else if TryStrToInt(u2a(tok), i) then begin data.push(i) end
      else if tok <> '' then data.push(tok);
      if assigned(OnChange) then OnChange;
      if msg<>'' then begin io.emit(msg); msg := '' end;
    end;
  
  procedure TImpForth.EvalNextToken;
    begin
      NextToken;
      Eval(tok);
    end;
  
  begin
  
negative.code:       NeedsInput, HasOutput : boolean;
        msg : TStr; // input and output buffers
        OnChange : TThunk;
        OnError  : TStrEvent;
  
        constructor Create(aOwner : TComponent); override;
        destructor Destroy; override;
  