anchor.diff:      procedure MsgLogDebug(const AText: string);
       procedure MsgLogToFilename(const AText, AFilename: string; AWithTime: boolean);
       procedure MsgStatusAlt(const AText: string; ASeconds: integer);
  +    procedure MsgStatusFileOpened(const AFileName1, AFileName2: string);
       procedure PopupListboxOutputCopyClick(Sender: TObject);
       procedure PopupListboxOutputClearClick(Sender: TObject);
       procedure PopupListboxValidateClearClick(Sender: TObject);
  
positive.code: 
      Result.Adapter.Stop;
      Result.DoFileOpen(AFileName, AFileName2, bEnableHistory, true, OpenMode);
      msg:= msgStatusOpened+' '+ExtractFileName(AFileName);
      MsgStatus(msg);
  
      DoPyEvent(Result.Editor, cEventOnOpen, []);
      Result.SetFocus;
  
negative.code:   end;
    F:= D.TabObject as TEditorFrame;
  
    //tick:= GetTickCount64;
    F.DoFileOpen(AFileName, AFileName2, bEnableHistory, true, OpenMode);
    Result:= F;
    //tick:= (GetTickCount64-tick) div 1000;
  
    UpdateStatus;
    //if tick>2 then
    //  msg:= msg+' ('+IntToStr(tick)+'s)';
    MsgStatusFileOpened(AFileName, AFileName2);
  
    DoPyEvent(F.Ed1, cEventOnOpen, []);
    if F.IsText and (F.LexerName[F.Ed1]='') then
  