anchor.diff:  
     Adjust;
     RePaint;
  +
  +  if prevval <> Text then
  +    DoOnChange;
   end;
   
   procedure TfpgBaseEdit.DefaultPopupCut(Sender: TObject);
  
positive.code: procedure TfpgBaseEdit.SetText(const AValue: string);
  var
    s: string;
  begin
    if FText = AValue then
      Exit;
  
    if FMaxLength <> 0 then
    begin
  
negative.code: end;
  
  procedure TfpgBaseEdit.DeleteSelection;
  var
    prevval: TfpgString;
  begin
    prevval := FText;
    if FSelOffset <> 0 then
    begin
      if FSelOffset < 0 then
  