anchor.diff:      until readCnt = 0;
       Str.SetSize(readSz);
       lns.LoadFromStream(Str);
  -    for msg in lns do begin
  +    for i:= 0 to lns.Count-1 do begin
  +      msg := lns.Strings[i];
         dt := newMessageData;
         dt^.ctxt := aCtxt;
         dt^.project := fProject;
  
positive.code: 
  procedure TCEMainForm.closeProj;
  var
    widg: TCEWidget;
  begin
    for widg in WidgetList do widg.projClose(fProject);
    fProject.Free;
    fProject := nil;
  end;
  
  procedure TCEMainForm.newProj;
  var
    widg: TCEWidget;
  begin
    fProject := TCEProject.Create(nil);
    fProject.Name := 'CurrentProject';
    for widg in WidgetList do widg.projNew(fProject);
    fProject.onChange := @projChange;
    fProject.libraryManager := fLibMan;
  end;
  
negative.code: {$REGION project ---------------------------------------------------------------}
  procedure TCEMainForm.projChange(sender: TObject);
  var
    i: NativeInt;
  begin
    for i := 0 to WidgetList.Count-1 do
      WidgetList.widget[i].projChange(fProject);
  end;
  
  procedure TCEMainForm.saveProjSource(const aEditor: TCESynMemo);
  