Michael Van Canneyt wrote on Wed, 11 May 2016:

On Wed, 11 May 2016, Marco van de Voort wrote:

I don't like that. The 3.x idea is to get rid of manual conversions and
hack-and-convert-it-as-you-go encoding management, not just rebadge the old
practices to rawbytestring.

You may not like it, but there is simply no other choice:

Since you don't know what the receiving program does with the receives
arguments, all attempts to guess it are erroneous by definition.

It will either interpret them according to the code page specified by the environment, or not perform any interpretation at all. In both cases, converting the arguments to the code page of the environment is the right thing to do.

Only the programmer knows what the receiving program will do (or should), so he must take it into account. Hence rawbytestring.

If it is an FPC program, then if it is compiled with FPC 2.6.x it will not reinterpret the command line arguments at all, while when compiled with FPC 3.x it will reinterpret the command line arguments. The caller of such a program should not have to worry with which version of FPC it has been compiled.

Don't pamper the programmer so much. He needs to make correct decisions.

They have to correctly set or specify the environment for the program they are executing when they want to force a specific encoding for its command line arguments.


Jonas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to