The compiler makes a determination.
Maybe there is a command flag, maybe it reads the tea leaves, maybe there is a configuration.
There is no mandate that it be a flag even if we hope it is.

Whatever the determination is, it does not involved reading the file ( or, given multiple way to make a determination, at least one does not involve reading the file)

Because an encoding has no content and a file is definitively never independent of its content, I think it would take a herculean effort to genuinely misconstrue
this sentence.

Now, do we believe this wording is good enough that this paper can progress to evolution?


On Tue, Jun 22, 2021 at 11:58 PM Jens Maurer <Jens.Maurer@gmx.net> wrote:
On 22/06/2021 23.54, Charlie Barto via SG16 wrote:
>> The encoding scheme of a physical source file is determined in an implementation-
>> defined manner. An implementation shall provide a mechanism to determine the
>> encoding of a source file that is independent of its content.
>
> How does this work if the file is stored in an encoding where, for example, all the characters in the basic source character set had multi-byte representations, or were otherwise different from the "usual" values? Would this be in the form of a new preprocessor mechanism that asked the encoding of some other source file?

"determine" wants to say "expressly specified by the user" (e.g. by
command-line flag), but we don't have words to say that in the
standard (because the standard has never heard about a command line).

But I agree, we should find a better phrasing than "determine".
Maybe "assert"?

Oh, and the quoted text also needs to fix the ambiguous antecedent
for "that is independent": As it stands, it refers to the source
file or the encoding, but we want it to apply to "mechanism".

Jens