On Wed, 3 May 2017, Ondrej Pokorny wrote:
Michael, because I cannot comment on a closed issue report I post my
answer to https://bugs.freepascal.org/view.php?id=31746#c100091 here:
> I don't think what you write is correct. As far as I can see in the
code of Delphi Berlin: Delphi uses always the defaultsystemcodepage for
text files, regardless of what the file is used for.
What do you mean? I checked both Berlin and Tokyo and in "function
TextOpen(var t: TTextRec): Integer;" in unit System you see that if the
text file is used for console input/output the CodePage is
GetConsoleOutputCP/GetConsoleCP whereas if the text file is used for
other purposes it uses DefaultSystemCodePage. (Search for "if
GetFileType(t.Handle) = 2 then"; 2=FILE_TYPE_CHAR).
Hmh.
I looked in a different function and missed this. You are right.
I don't think this is very good behaviour.
IMHO the output should be the same regardless of whether the output is piped or
not.
I can understand a check for stdinputhandle/stdoutputhandle.
(specially on windows with the weird handling of a console)
But whether or not the output is piped: the program should handle both cases
equally.
I have reopened the bugreport. Some windows user should check this.
Michael.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel