anchor.diff:      fProc: TProcess;
       procedure sendInput;
       //
  -    procedure optset_InputMru(aReader: TReader);
  -    procedure optget_InputMru(aWriter: TWriter);
  -    //
       function singleServiceName: string;
       procedure addProcess(aProcess: TProcess);
       procedure removeProcess(aProcess: TProcess);
  
positive.code:   public
      constructor create(aOwner: TComponent); override;
      destructor destroy; override;
      //
      procedure sesoptDeclareProperties(aFiler: TFiler); override;
    end;
  
  implementation
  
negative.code: uses
    ce_symstring, LCLType;
  
  const
    OptsFname = 'procinput.txt';
  
  {$REGION Standard Comp/Obj -----------------------------------------------------}
  constructor TCEProcInputWidget.create(aOwner: TComponent);
  var
    fname: string;
  begin
    inherited;
    fMru := TCEMRUList.Create;
    fMru.maxCount := 25;
    EntitiesConnector.addSingleService(self);
    fname := getCoeditDocPath + OptsFname;
    if fileExists(OptsFname) then
      fMru.LoadFromFile(fname);
    if fMru.Count = 0 then
      fMru.Insert(0, '(your input here)');
  end;
  
  destructor TCEProcInputWidget.destroy;
  begin
    // note that mru list max count is not saved.
    fMru.SaveToFile(getCoeditDocPath + OptsFname);
    fMru.Free;
    inherited;
  end;
  {$ENDREGION --------------------------------------------------------------------}
  
  