Re: Assume CP1252
[email protected] (Karl Williamson) Sun, 11 Jan 2015 20:57:26 -0700
| Newsgroups | perl.pod-people |
|---|---|
| Message-ID | <[email protected]> |
On 01/11/2015 11:01 AM, Karl Williamson wrote: > On 01/10/2015 11:35 PM, David E. Wheeler wrote: >> On Jan 10, 2015, at 5:48 PM, Sean Burke <[email protected]> wrote: >> >>> Helleu, Pod pals! >>> Short version about "Re: Assume CP1252"-- I advise: yes, assume >>> CP1252 where technically you were expecting Latin-1. >> >> Thanks for chiming in, Sean. >> >>> I agree completely, go for it! >>> >>> Yes: >>> * assume that input is CP1252 in the absence of any encoding being >>> declared >>> * assume that input is CP1252 if the declared encoding is Latin-1 >>> >>> As far as I know, that amicable bait-and-switch (i.e., construing >>> Latin-1 to actually mean the superset CP1252) means in practice that >>> everybody wins, and nobody loses, and DWIM prevails yet again. >> >> Right, I vaguely remember you telling me this before. I forgot about >> #2 (and the HTML 5 precedent). > > I think I oppose overruling someone's =encoding line. The reason that > 1252 is effectively a superset of latin1 is because it reuses the C1 > controls to mean something else, and we don't expect those controls to > actually appear in a pod document. That is quite likely, except for > one, NEL, U+85, which is the usual line separator on some platforms, > notably os390 (that code point is the horizontal ellipsis in 1252). > > It strikes me as wrong anyway to say we know better than the coder. > There needs to be a way for a coder to specify the coding and not have > that specification ignored by us. We do not have the foresight to know > the possible circumstances where Latin1 is the correct value and 1252 is > not. We could be wrong, and we should provide an easy workaround for > our wrongness. The most straight forward which will lead to the least > resentment against us when we are wrong is to simply not second guess > what the coder has said. > > os390 is proof that there is at least one platform that Perl runs on > where 1252 is not a superset of Latin1. There could be special casing > for that platform. But if we're wrong there, we could be wrong > elsewhere. It just seems a bad idea to think we know better than the > coder. > To be clear, I think that assuming 1252 when there is no =encoding line is a good idea. But I'm leery of overriding an actual =encoding line.