On 31.08.2023 17:54, Tomas Hajny via fpc-devel wrote:
On 2023-08-31 17:08, Ondrej Pokorny via fpc-devel wrote:
:) We are not at the finish yet. Positive outcome will be when it gets
fixed in the compiler source.

Yes, I know. I checked your patch briefly now and I don't like the fact that it basically duplicates the code of the two original TScannerFile methods. This isn't very good from maintainability point of view, because if somebody changes/fixes some issue in one, (s)he may easily forget about the other. I see several potential solutions:

2) Always use the ansistring version when parsing the comments. Obviously, this increases compilation time for directives parsing somewhat - we could possibly measure the impact and then decide if the increase is important.

That is actually what I started with. Then I saw that there are some parts of the code that demand ShortString output and decided to keep both versions.

But basically it is possible to have the 2 ShortString variants use the new Long variants + check the Length and valid characters (to me it looks like there really should be checks for ASCII characters when ShortString is involved). That would be the simplest way to get rid of doubled code. I don't think the compiler performance will be affected that much and AFAIK maintainability is more important than performance anyway.

Or the bigger step would be to make the compiler unicode-ready:

var
  ä: string;

+ file names, paths etc.

Then only the new Long variant would be needed :)

Ondrej

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to