ecMacroRec.pas

TecMacroRecorder = class
add field:

private
    FAtFileEnd: boolean; //AT
public
    property AtFileEnd: Boolean read FAtFileEnd write FAtFileEnd; //AT

after
          smChar,
          smString,
          smMacroPlay:
            SyntMemo.ExecCommand(m[i].Command, PecChar(m[i].Data));
          else SyntMemo.ExecCommand(m[i].Command);
       end;

add
       //AT
       if SyntMemo.CaretStrPos >= Pred(SyntMemo.TextLength) then
         FAtFileEnd := True;
