Package: libperl-critic-perl Version: 1.118-1 Severity: normal The ErrorHandling::RequireCheckingReturnValueOfEval policy is, I believe, now thankfully obsolete since that bug was fixed in Perl in 5.14. It may still be of interest to people who want to support older versions of Perl, but this should at least be noted in its documentation, and I'm not sure that it still belongs in the default set for jessie.
perl5140delta: Exception Handling To make them more reliable and consistent, several changes have been made to how "die", "warn", and $@ behave. ยท When an exception is thrown inside an "eval", the exception is no longer at risk of being clobbered by destructor code running during unwinding. Previously, the exception was written into $@ early in the throwing process, and would be overwritten if "eval" was used internally in the destructor for an object that had to be freed while exiting from the outer "eval". Now the exception is written into $@ last thing before exiting the outer "eval", so the code running immediately thereafter can rely on the value in $@ correctly corresponding to that "eval". ($@ is still also set before exiting the "eval", for the sake of destructors that rely on this.) Likewise, a "local $@" inside an "eval" no longer clobbers any exception thrown in its scope. Previously, the restoration of $@ upon unwinding would overwrite any exception being thrown. Now the exception gets to the "eval" anyway. So "local $@" is safe before a "die". Exceptions thrown from object destructors no longer modify the $@ of the surrounding context. (If the surrounding context was exception unwinding, this used to be another way to clobber the exception being thrown.) Previously such an exception was sometimes emitted as a warning, and then either was string-appended to the surrounding $@ or completely replaced the surrounding $@, depending on whether that exception and the surrounding $@ were strings or objects. Now, an exception in this situation is always emitted as a warning, leaving the surrounding $@ untouched. In addition to object destructors, this also affects any function call run by XS code using the "G_KEEPERR" flag. -- System Information: Debian Release: 7.0 APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 3.2.0-4-686-pae (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages libperl-critic-perl depends on: ii libb-keywords-perl 1.12-1 ii libconfig-tiny-perl 2.14-1 ii libemail-address-perl 1.895-1 ii libexception-class-perl 1.32-1 ii libfile-homedir-perl 0.99-1 ii libfile-which-perl 1.09-1 ii libio-string-perl 1.08-2 ii liblist-moreutils-perl 0.33-1+b1 ii libpod-spell-perl 1.01-2 ii libppi-perl 1.215-1 ii libppix-regexp-perl 0.028-1 ii libppix-utilities-perl 1.001000-1 ii libreadonly-perl 1.03-4 ii libreadonly-xs-perl 1.04-2+b3 ii libstring-format-perl 1.16-1 ii libtask-weaken-perl 1.03-1 ii perl 5.14.2-17 ii perltidy 20101217-1 libperl-critic-perl recommends no packages. libperl-critic-perl suggests no packages. -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org