anchor.diff:    inherited HandleMouseMove(x, y, btnstate, shiftstate);
     Position := FindPoint(X, Y, Line, Offset, Link);
   
  -//  if not MouseCapture then     // TODO: Introduce a IsMouseCaptured in TfpgWindow
  -  begin
  -    if Link <> FLastLinkOver then
  +  if Link <> FLastLinkOver then
  +  begin
  +    if Link <> '' then
       begin
  -      if Link <> '' then
  -      begin
  -        if Assigned(FOnOverLink) then
  -          FOnOverLink(Self, Link)
  -      end
  -      else
  -      begin
  -        if Assigned(FOnNotOverLink) then
  -          FOnNotOverLink(Self, FLastLinkOver);
  -      end;
  -      FLastLinkOver := Link;
  +      if Assigned(FOnOverLink) then
  +        FOnOverLink(Self, Link)
  +    end
  +    else
  +    begin
  +      if Assigned(FOnNotOverLink) then
  +        FOnNotOverLink(Self, FLastLinkOver);
       end;
  -
  -    if Link <> '' then
  -      MouseCursor := mcHand
  -    else
  -      MouseCursor := mcDefault;   // TODO: later this should be IBeam when RichView supports editing
  -    exit;
  -  end;
  +    FLastLinkOver := Link;
  +  end;
  +
  +  if Link <> '' then
  +    MouseCursor := mcHand
  +  else
  +    MouseCursor := mcDefault;   // TODO: later this should be IBeam when RichView supports editing
   end;
   
   Destructor TRichTextView.Destroy;
  
positive.code:   end;
  end;
  
  procedure TRichTextView.MakeRowAndColumnVisible( Row: longint;
                                                   Column: longint );
  var
    X: Longint;
  begin
    MakeRowVisible( Row );
    FLayout.GetXFromOffset( Column, Row, X );
  
    if X > FXScroll + GetTextAreaWidth then
      // off the right
      SetHorizontalPosition( X - GetTextAreaWidth + 5 )
    else if X < FXScroll then
      // off to left
      SetHorizontalPosition( X );
  
  end;
  
  function TRichTextView.LinkFromIndex( const CharIndexToFind: longint): string;
  
negative.code:                                  PreserveSelection: boolean );
  
      procedure MakeRowVisible( Row: longint );
      procedure MakeRowAndColumnVisible(Row: longint; Column: longint);
  
      // These two methods set selection start and end,
      // and redraw the screen, but do not set up cursor.
  