<p>Am 21.06.2016 15:21 schrieb "Michalis Kamburelis" <<a href="mailto:michalis.kambi@gmail.com">michalis.kambi@gmail.com</a>>:<br>
><br>
> 2016-06-21 15:03 GMT+02:00 Sven Barth <<a href="mailto:pascaldragon@googlemail.com">pascaldragon@googlemail.com</a>>:<br>
> > Am 21.06.2016 12:31 schrieb "Michalis Kamburelis"<br>
> > <<a href="mailto:michalis.kambi@gmail.com">michalis.kambi@gmail.com</a>>:<br>
> >> Current FPC defaults:<br>
> >><br>
> >> - Help people who except the {$mode fpc} to be default (so they write<br>
> >> code without classes and a lot of other new features),<br>
> >> - Or people who expect that string is by default ShortString (limited<br>
> >> to 255 chars).<br>
> ><br>
> > One might argue about changing the default mode, but changing the default<br>
> > String type of mode ObjFPC will very likely result in compilation or runtime<br>
> > errors (probably even in the compiler itself) which is something we tend to<br>
> > avoid without good reasons. At the very least there will be performance<br>
> > differences which - depending on the code - might be noticeable as well.<br>
> ><br>
><br>
> These errors and differences will be only felt by projects that use<br>
> {$mode objfpc} but assume that string = ShortString (and they don't<br>
> use {$H-} explicitly). I don't think it would apply to too many<br>
> projects?</p>
<p>Compiler and RTL are two examples.</p>
<p>> And if we do it in some major version, with proper release notes, like<br>
> Mr Bee proposes, these projects would have plenty of time to adjust<br>
> their compilation scripts / config files. They could just add "-Sh-"<br>
> or "{$H-}" and be OK, for both past and future FPC versions.</p>
<p>It was decided some time ago when mode Delphi was switched to H+ (due to Delphi compatibility) that mode ObjFPC won't be switched, cause for that mode we value backwards compatibility higher than the user not having to write a switch.</p>
<p>Regards,<br>
Sven</p>