anchor.diff:  procedure TForm_Main.RxRTFKeyDown(Sender: TObject; var Key: Word;
     Shift: TShiftState);
   var
  -  line, col, indent, posFirstChar : integer;
  +  line, col, indent, maxIndent, posFirstChar : integer;
     s : string;
     ptCursor :  TPoint;
   
  
positive.code:       end;
        VK_HOME: begin
            getInformationOfCurrentLine(TRxRichEdit(sender));
            if TRxRichEdit(sender).SelStart > (posFirstChar + indent) then begin
               TRxRichEdit(sender).SelStart:= posFirstChar + indent;
               key:= 0;
            end;
        end;
  
negative.code:           posFirstChar:= Perform( EM_LINEINDEX,line,0 );
            Col  := SelStart - posFirstChar;
  
            S:= lines[ line ];
  
            // count blanks and tabs in this string
            maxIndent := 0;
            while (maxIndent < length( S )) and
                  (S[maxIndent+1] In  [' ',#9])
            do
              Inc( maxIndent );
  
            if maxIndent > col then
               indent:= col
            else
               indent:= maxIndent;
        end;
    end;
  
  