anchor.diff:    Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
     Menus, LclType,
     PythonEngine,
  +  ATStrings,
     ATSynEdit,
     ATSynEdit_Edits,
     ATSynEdit_Commands,
  
positive.code:   end;
  end;
  
  procedure TfmConsole.DoAddLine(const Str: string);
  begin
    with memo do
    begin
      ModeReadOnly:= false;
  
      //this is to remove 1st empty line
      if (Strings.Count=1) and (Strings.LinesUTF8[0]='') then
        Strings.LinesUTF8[0]:= Str
      else
        Strings.LineAddRaw_UTF8_NoUndo(Str, cEndUnix);
  
      ModeReadOnly:= true;
    end;
  
negative.code:     ed: TATComboEdit;
      memo: TATSynEdit;
      property OnConsoleNav: TAppConsoleEvent read FOnNavigate write FOnNavigate;
      procedure DoAddLine(const AText: string);
      procedure DoUpdate;
      procedure DoScrollToEnd(AllowProcessMsg: boolean);
      property IsDoubleBuffered: boolean write SetIsDoubleBuffered;
  