anchor.diff:          grdCompilerDirs.Cells[j, i] := cCheck;
       end;
     end;
  +
  +  grdUserMacros.RowCount := GProject.MacroNames.Count;
  +  for i := 0 to GProject.MacroNames.Count-1 do
  +  begin
  +    grdUserMacros.Cells[6, i] := GProject.MacroNames.Names[i];
  +    grdUserMacros.Cells[7, i] := GProject.MacroNames.ValueFromIndex[i];
  +  end;
   end;
   
   procedure TProjectOptionsForm.SaveSettings;
  
positive.code:   begin
      if Trim(grdCompilerDirs.Cells[10, i]) = '' then
        grdCompilerDirs.DeleteRow(i);
    end;
  end;
  
  
negative.code:     procedure SetupCellEdit(AGrid: TfpgStringGrid);
      procedure CleanupCompilerMakeOptionsGrid;
      procedure CleanupCompilerDirs;
      procedure CleanupUserMacrosGrid;
      procedure SaveToMacroList(AList: TIDEMacroList);
    public
      constructor Create(AOwner: TComponent); override;
  