anchor.diff:  begin
     if fSelectable then
       fSelectionStart := EnsureRange(aValue, 0, Length(fText));
  +end;
  +
  +
  +procedure TKMSelectableEdit.ValidateText;
  +begin
  +  Changed;
  +end;
  +
  +
  +procedure TKMSelectableEdit.Changed;
  +begin
  +  // OnChange should be called here, since we changed the input and don't want to wait until KeyUp event
  +  if Assigned(OnChange) then OnChange(Self);
   end;
   
   
  
positive.code: ﻿unit KM_Controls;
  {$I KaM_Remake.inc}
  interface
  uses
  
negative.code: 
    CursorPos := Min(CursorPos, Length(fText)); //In case we had leading zeros in fText string
  
    inherited; //Will trigger OnChange event
  end;
  
  
  