anchor.diff:    FCursorRow := Row;
     Index := FLayout.GetCharIndex( FLayout.FLines^[ Row ].Text ) + Offset;
   
  -  writeln('  SetCursorPosition: offset=', FCursorOffset, ' row=', FCursorRow, ' index=', Index);
  -  exit;
  +  //writeln('  SetCursorPosition: offset=', FCursorOffset, ' row=', FCursorRow, ' index=', Index);
  +  exit;    { TODO:  Complete this selection of text code - currently gives AV's }
     if PreserveSelection then
     begin
       SetSelectionEndInternal( Index )
  
positive.code: 
    TScrollingDirection = ( sdUp, sdDown );
  
  var
    testvar: integer = 0;
  
  Type
  
  
negative.code:   end
    else
    begin
      //writeln('need to scroll down, desired row below bottom line');
      //writeln('BottomLine = ', BottomLine, '  Row = ', Row);
      //writeln('new pos = ', FLayout.GetLinePosition( Row )
      //                       + FLayout.FLines^[ Row ].Height
      //                       - GetTextAreaHeight);
      // need to scroll down, desired row below bottom line
      if     ( BottomLine <> -1 )
         and ( Row >= BottomLine ) then
  