anchor.diff:        end;
         VK_HOME: begin
             getInformationOfCurrentLine(TRxRichEdit(sender));
  -          if TRxRichEdit(sender).SelStart > (posFirstChar + indent) then begin
  -             TRxRichEdit(sender).SelStart:= posFirstChar + indent;
  +          if ((TRxRichEdit(sender).SelStart > (posFirstChar + indent)) or (TRxRichEdit(sender).SelStart = posFirstChar) ) then begin
  +             TRxRichEdit(sender).SelStart:= posFirstChar + maxIndent;
                key:= 0;
             end;
         end;
  
positive.code:           posFirstChar:= Perform( EM_LINEINDEX,line,0 );
            Col  := SelStart - posFirstChar;
  
            // get part of current line in front of caret
            S:= Copy( lines[ line ], 1, col );
  
            // count blanks and tabs in this string
            indent := 0;
            while (indent < length( S )) and
                  (S[indent+1] In  [' ',#9])
            do
              Inc( indent );
        end;
    end;
  
  
negative.code:     procedure MMRenamenodeClick(Sender: TObject);
      procedure MMViewTBTreeClick(Sender: TObject);
      procedure TVDeleteNodeClick(Sender: TObject);
      procedure TVDeletion(Sender: TObject; Node: TTreeNTNode);
      procedure MMTreeFullExpandClick(Sender: TObject);
      procedure MMTreeFullCollapseClick(Sender: TObject);
  