develooper Front page | perl.perl5.porters | Postings from October 2016

Re: [perl #129981] EXPORT_TAGS no longer immune to once warnings

Thread Previous
From:
Graham Knop
Date:
October 28, 2016 06:59
Subject:
Re: [perl #129981] EXPORT_TAGS no longer immune to once warnings
Message ID:
CAM=m89GB2tAeDWVN2wiO1x57KxwVGt6CuOxYhV=fqstoJAbUxQ@mail.gmail.com
Oops, missed that.  This can be closed then.

On Fri, Oct 28, 2016 at 2:57 AM, demerphq <demerphq@gmail.com> wrote:
> Yes. I did.
>
> commit 055ae706a0637a77ba440aedf596d2ebac642051
> Author: Yves Orton <demerphq@gmail.com>
> Date:   Thu Oct 27 15:36:27 2016 +0200
>
>     must check all the EXPORT vars in two places!
>
>     (Silence lots of used once warnings we used to not generate)
>
> On 28 October 2016 at 08:55, demerphq <demerphq@gmail.com> wrote:
>> I thought I fixed this yesterday.
>>
>>
>> On 28 Oct 2016 05:49, "Graham Knop" <perlbug-followup@perl.org> wrote:
>>>
>>> # New Ticket Created by  Graham Knop
>>> # Please include the string:  [perl #129981]
>>> # in the subject line of all future correspondence about this issue.
>>> # <URL: https://rt.perl.org/Ticket/Display.html?id=129981 >
>>>
>>>
>>> This is a bug report for perl from haarg@haarg.org,
>>> generated with the help of perlbug 1.39 running under perl 5.18.2.
>>>
>>>
>>> -----------------------------------------------------------------
>>> Perl 5.25.6 (specifically eafd371) changed the code that magicalizes
>>> variables,
>>> which is how various variables are made immune to once warnings.
>>> Previously,
>>> any variable starting with EXPORT would be immune.  Now, only a specific
>>> list of
>>> variables is immune.  This list doesn't include EXPORT_TAGS.  This caused
>>> Sub::Exporter::Progressive to start issuing warnings, which is used by
>>> Devel::GlobalDestruction and thus Moose, Moo, and other modules.
>>>
>>> I think EXPORT_TAGS should be added to the list of variables to be made
>>> immune.
>>>
>>> -----------------------------------------------------------------
>>> ---
>>> Flags:
>>>     category=core
>>>     severity=low
>>> ---
>>> Site configuration information for perl 5.18.2:
>>>
>>> Configured by root at Sat Jul 30 14:47:24 PDT 2016.
>>>
>>> Summary of my perl5 (revision 5 version 18 subversion 2) configuration:
>>>
>>>   Platform:
>>>     osname=darwin, osvers=16.0, archname=darwin-thread-multi-2level
>>>     uname='darwin osx202.apple.com 16.0 darwin kernel version 15.0.0:
>>> wed apr 6 00:55:38 pdt 2016;
>>> root:xnu-3247.1.106.2.8~1development_x86_64 x86_64 '
>>>     config_args='-ds -e -Dprefix=/usr -Dccflags=-g  -pipe  -Dldflags=
>>> -Dman3ext=3pm -Duseithreads -Duseshrplib -Dinc_version_list=none
>>> -Dcc=cc'
>>>     hint=recommended, useposix=true, d_sigaction=define
>>>     useithreads=define, usemultiplicity=define
>>>     useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
>>>     use64bitint=define, use64bitall=define, uselongdouble=undef
>>>     usemymalloc=n, bincompat5005=undef
>>>   Compiler:
>>>     cc='cc', ccflags ='-arch i386 -arch x86_64 -g -pipe -fno-common
>>> -DPERL_DARWIN -fno-strict-aliasing -fstack-protector',
>>>     optimize='-Os',
>>>     cppflags='-g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing
>>> -fstack-protector'
>>>     ccversion='', gccversion='4.2.1 Compatible Apple LLVM 8.0.0
>>> (clang-800.0.34)', gccosandvers=''
>>>     intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
>>>     d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
>>>     ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
>>> lseeksize=8
>>>     alignbytes=8, prototype=define
>>>   Linker and Libraries:
>>>     ld='cc -mmacosx-version-min=10.12', ldflags ='-arch i386 -arch
>>> x86_64 -fstack-protector'
>>>     libpth=/usr/lib /usr/local/lib
>>>     libs=
>>>     perllibs=
>>>     libc=, so=dylib, useshrplib=true, libperl=libperl.dylib
>>>     gnulibc_version=''
>>>   Dynamic Linking:
>>>     dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
>>>     cccdlflags=' ', lddlflags='-arch i386 -arch x86_64 -bundle
>>> -undefined dynamic_lookup -fstack-protector'
>>>
>>> Locally applied patches:
>>>     /Library/Perl/Updates/<version> comes before system perl directories
>>>     installprivlib and installarchlib points to the Updates directory
>>>
>>> ---
>>> @INC for perl 5.18.2:
>>>     /Library/Perl/5.18/darwin-thread-multi-2level
>>>     /Library/Perl/5.18
>>>     /Network/Library/Perl/5.18/darwin-thread-multi-2level
>>>     /Network/Library/Perl/5.18
>>>     /Library/Perl/Updates/5.18.2
>>>     /System/Library/Perl/5.18/darwin-thread-multi-2level
>>>     /System/Library/Perl/5.18
>>>     /System/Library/Perl/Extras/5.18/darwin-thread-multi-2level
>>>     /System/Library/Perl/Extras/5.18
>>>     .
>>>
>>> ---
>>> Environment for perl 5.18.2:
>>>     DYLD_LIBRARY_PATH (unset)
>>>     HOME=/Users/gknop
>>>     LANG=en_US.UTF-8
>>>     LANGUAGE (unset)
>>>     LD_LIBRARY_PATH (unset)
>>>     LOGDIR (unset)
>>>     PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
>>>     PERL_BADLANG (unset)
>>>     SHELL=/bin/bash
>>>
>>
>
>
>
> --
> perl -Mre=debug -e "/just|another|perl|hacker/"

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About