anchor.diff:    fModified := false;
   end;
   
  -function TCEProject.outputFilename: string;
  -begin
  -  result := currentConfiguration.pathsOptions.outputFilename;
  -  result := symbolExpander.get(result);
  -  if result <> '' then
  -  begin
  -    if not fileExists(result) then
  -      result := getAbsoluteFilename(result);
  -    exit;
  -  end;
  -  if Sources.Count = 0 then
  -    exit;
  -  result := extractFilename(Sources.Strings[0]);
  -  result := result[1..length(result) - length(extractFileExt(result))];
  -  result := extractFilePath(fileName) + DirectorySeparator + result + exeExt;
  -end;
  -
   procedure TCEProject.getOpts(const aList: TStrings);
   var
     rel, abs: string;
  
positive.code:     property currentConfiguration: TCompilerConfiguration read getCurrConf;
      property onChange: TNotifyEvent read fOnChange write fOnChange;
      property modified: Boolean read fModified;
      property canBeRun: Boolean read getCanBeRun;
    end;
  
  implementation
  
negative.code:     function getConfig(const ix: integer): TCompilerConfiguration;
      function getCurrConf: TCompilerConfiguration;
      function runPrePostProcess(const processInfo: TCompileProcOptions): Boolean;
      // passes pre/post/executed project/ outputs as bubles.
      procedure runProcOutput(sender: TObject);
      // passes compilation message as "to be guessed"
  