anchor.diff:      procedure   HandleLMouseUp(x, y: integer; shiftstate: TShiftState); override;
       procedure   HandleKeyPress(var keycode: word; var shiftstate: TShiftState; var consumed: boolean); override;
       procedure   HandleKeyRelease(var keycode: word; var shiftstate: TShiftState; var consumed: boolean); override;
  -    function    FindNeighbor(direction: TFocusSearchDirection): TfpgRadioButton;
  +    function    FindNeighbour(direction: TFocusSearchDirection): TfpgRadioButton;
     public
       constructor Create(AOwner: TComponent); override;
       destructor  Destroy; override;
  
positive.code:     
      for i := 0 to Parent.ComponentCount-1 do
      begin
        wg := TfpgWidget(Parent.Components[i]);
        if (wg <> nil) and (wg is TfpgRadioButton) and
           wg.Visible and wg.Enabled and wg.Focusable and
           (TfpgRadioButton(wg).GroupIndex = GroupIndex) then
        begin
          case direction of
            fsdFirst:
              if (wg.TabOrder < bestdtab) then
              begin
                Result   := TfpgRadioButton(wg);
                bestdtab := wg.TabOrder;
              end;
                
            fsdLast:
              if (wg.TabOrder >= bestdtab) then
              begin
                Result   := TfpgRadioButton(wg);
                bestdtab := wg.TabOrder;
              end;
          
            fsdNext:
              if wg = Self then
                FoundIt := True
              else
              begin
                if ((wg.TabOrder > Self.TabOrder) and (wg.TabOrder < bestdtab)) or
                   ((wg.TabOrder = Self.TabOrder) and FoundIt) then
                begin
                  Result   := TfpgRadioButton(wg);
                  bestdtab := wg.TabOrder;
                end;
              end;
              
            fsdPrev:
              if wg = Self then
                FoundIt := True
              else
              begin
                if ((wg.TabOrder < Self.TabOrder) and (wg.TabOrder >= bestdtab)) or
                   ((wg.TabOrder = Self.TabOrder) and not FoundIt) then
                begin
                  Result   := TfpgRadioButton(wg);
                  bestdtab := wg.TabOrder;
                end;
              end;
          end; { case }
        end; { if }
      end;  { for }
    end;  { if }
  end;
  
  
negative.code:     keyUp, keyLeft:
        begin
          consumed := True;
          nbr := FindNeighbour(fsdPrev);
          if nbr = Self then
            nbr := FindNeighbour(fsdLast);
          nbr.SetFocus;
          nbr.Checked := True;
        end;
      keyDown, keyRight:
        begin
          consumed := True;
          nbr := FindNeighbour(fsdNext);
          if nbr = Self then
            nbr := FindNeighbour(fsdFirst);
          nbr.SetFocus;
          nbr.Checked := True;
        end;
  