ecSyntMemo

declare near SelectMode
    FSelectModeDefault: TSyntSelectionMode; //AT 
    procedure SetSelectModeDefault(const Value: TSyntSelectionMode); //AT
    property SelectModeDefault: TSyntSelectionMode read FSelectModeDefault write SetSelectModeDefault;
    
add to published too    
  TSyntaxMemo = class(TCustomSyntaxMemo)
  published
    property SelectModeDefault; //AT
    

implement
procedure TCustomSyntaxMemo.SetSelectModeDefault(const Value: TSyntSelectionMode);
begin
  if FSelectModeDefault <> Value then
  begin
    FSelectModeDefault := Value;
    if FSelectModeDefault = msNone then
      FSelectModeDefault := msNormal;
    SelectionChanged;
  end;
end;

function TCustomSyntaxMemo.GetMouseSelMode(Shift: TShiftState): TSyntSelectionMode;
change line
    Result := FSelectMode
to
    Result := FSelectModeDefault
