anchor.diff:    end;
   end;
   
  -procedure TCETodoListWidget.toolOutputData(Sender: TObject);
  -begin
  -  processOutputToStream(fToolProc, fToolOutput);
  -end;
  -
   procedure TCETodoListWidget.toolTerminated(Sender: TObject);
   begin
  -  processOutputToStream(fToolProc, fToolOutput);
  -  fToolOutput.Position := 0;
     //TODO-cbugfix: UTF chars in TODO comments bug either in the widget or the tool, symptom: empty todo list, conditions: to determine.
  -  //fToolOutput.SaveToFile('C:\cetodo_widgetside.txt');
  -  fTodos.loadFromTxtStream(fToolOutput);
  +
  +  fToolProc.OutputStack.Position := 0;
  +  fTodos.loadFromTxtStream(fToolProc.OutputStack);
     fillTodoList;
     fToolProc.OnTerminate := nil;
  -  fToolProc.OnReadData := nil;
  -  fToolOutput.Clear;
   end;
   
   procedure TCETodoListWidget.clearTodoList;
  
positive.code: begin
    fOptions.saveToFile(getCoeditDocPath + OptFname);
    killToolProcess;
    fToolOutput.Free;
    inherited;
  end;
  
  
negative.code:   //
    killToolProcess;
    // process parameter
    fToolProc := TCEProcess.Create(nil);
    fToolProc.Executable := exeFullName(ToolExeName);
    fToolProc.Options := [poUsePipes];
    fToolProc.ShowWindow := swoHIDE;
    fToolProc.CurrentDirectory := ExtractFileDir(Application.ExeName);
    fToolProc.OnTerminate := @toolTerminated;
  
    // files passed to the tool argument
    if ctxt = tcProject then
  