perl-unicode

Encode utf8 warnings

2016-08-13 12:42:12
Hello, I see that there is one big mess in utf8 warnings for Encode.

First, warnings should be enabled by warnings pragma. For utf8 there
are: utf8, non_unicode, nonchar, surrogate.

Second, warnings for Encode can be enabled by check flag Encode::FB_WARN
or Encode::WARN_ON_ERR.

Third, warnings for perlio :encoding layer can be enabled via
$PerlIO::encoding::fallback variable (same flags as for Encode module).

And here is problem:

Should Encode utf8 throw warnings if:

* utf8 warnings are enabled by pragma, but not enabled via Encode check
  flags?
* utf8 pragma warnings are disabled, but Encode WARN_ON_ERR bit enabled?
* utf8 pragma warnings are disabled and $PerlIO::encoding::fallback
  variable was not modified?

There are couple of bugs and comments about this problem:
https://rt.cpan.org/Public/Bug/Display.html?id=88592
https://github.com/dankogai/p5-encode/pull/26#issuecomment-235641347
https://rt.perl.org/Public/Bug/Display.html?id=128788
https://rt.cpan.org/Public/Bug/Display.html?id=116629
https://github.com/dankogai/p5-encode/issues/59
https://github.com/dankogai/p5-encode/commit/a6c2ba385875c2c03bd42350e23aef0188fb23b0
https://github.com/dankogai/p5-encode/commit/07c8adb58e55c7cf66b3d6673bf50010fe1a69ea

I think that we need to declare how should utf8 pragma warnings
interference with Encode WARN_ON_ERR for Unicode encodings
(Encode::utf8 and Encode::Unicode).

Documentation:
https://metacpan.org/pod/warnings
https://metacpan.org/pod/Encode#FB_WARN
https://metacpan.org/pod/PerlIO::encoding

<Prev in Thread] Current Thread [Next in Thread>