perl.perl5.porters https://www.nntp.perl.org/group/perl.perl5.porters/ ... Copyright 1998-2017 perl.org Fri, 17 Nov 2017 19:14:18 +0000 ask@perl.org Re: [perl #130447] Win32: Define __USE_MINGW_ANSI_STDIO for all gccbuilds by Steve Hay via perl5-porters On 16 November 2017 at 21:05, Father Chrysostomos via RT <br/>&lt;perlbug-followup@perl.org&gt; wrote: <br/>&gt; On Thu, 16 Nov 2017 04:29:02 -0800, sisyphus wrote: <br/>&gt;&gt; Am *I* supposed to be able to close this ticket ? I logged in to <br/>&gt;&gt; https://rt.perl.org/Ticket/Display.html?id=130447 using my bitcard <br/>&gt;&gt; account, <br/>&gt;&gt; but I couldn&#39;t spot any option that would enable me to close it. <br/>&gt; <br/>&gt; &acirc;&#128;&#153;Fraid it&acirc;&#128;&#153;s admins only. <br/>&gt; <br/> <br/>I was surpried that the OP couldn&#39;t close his own ticket. I thought <br/>that was possible, and it&#39;s just closing other people&#39;s tickets that <br/>is restricted to admins? <br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247416.html Fri, 17 Nov 2017 17:59:24 +0000 Re: [perl.git] branch blead updated. v5.27.5-378-g97c8f3e6ed by Steve Hay via perl5-porters On 17 November 2017 at 03:39, Zefram &lt;zefram@fysh.org&gt; wrote:<br/>&gt; Steve Hay via perl5-porters wrote:<br/>&gt;&gt;Some of the new tests here are failing on Windows. Do these just need<br/>&gt;&gt;skipping, or are they expected to work?<br/>&gt;<br/>&gt; They ought to pass. Windows doesn&#39;t have the flag bit that -k tests for,<br/>&gt; but it&#39;s still implementing that operator, presenting a worldview in which<br/>&gt; the sticky bit is a meaningful concept but just isn&#39;t set on any file.<br/>&gt; To provide that worldview consistently, obviously the operator needs to<br/>&gt; return false for any file, but it still needs to error when the argument<br/>&gt; doesn&#39;t refer to a file. All these test failures consist of the operator<br/>&gt; yielding a non-error false value for arguments that don&#39;t refer to files.<br/>&gt;<br/>&gt; Should be fixed by commit a6c31837e629c46be2f7496149b36a4b79f93484.<br/>&gt; (I can&#39;t test it on Windows.) Amusingly, the code change consists purely<br/>&gt; of deleting a stanza of code, a nugget of purest bug.<br/>&gt;<br/><br/>Thanks, that&#39;s fixed the test failures.<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247415.html Fri, 17 Nov 2017 17:54:40 +0000 Re: [perl.git] branch blead updated. v5.27.5-404-gcfd95a3749 by Craig A. Berry <br/>&gt; On Nov 16, 2017, at 11:32 PM, Karl Williamson &lt;public@khwilliamson.com&gt; wrote: <br/>&gt; <br/>&gt; On 11/16/2017 09:41 PM, Craig A. Berry wrote: <br/>&gt;&gt; On 11/16/17 11:55 AM, Karl Williamson wrote: <br/>&gt;&gt;&gt; In perl.git, the branch blead has been updated <br/>&gt;&gt;&gt; <br/>&gt;&gt;&gt; &lt;https://perl5.git.perl.org/perl.git/commitdiff/cfd95a374972942cba5e8afc019dc6019815b45c?hp=60fae40da1a47d38fee85f0fc86e27f52c184f88&gt; <br/>&gt;&gt;&gt; <br/>&gt;&gt;&gt; - Log ----------------------------------------------------------------- <br/>&gt;&gt;&gt; commit cfd95a374972942cba5e8afc019dc6019815b45c <br/>&gt;&gt;&gt; Author: Karl Williamson &lt;khw@cpan.org&gt; <br/>&gt;&gt;&gt; Date: Tue Nov 14 21:41:25 2017 -0700 <br/>&gt;&gt;&gt; <br/>&gt;&gt;&gt; Remove UTF16 functions from public access <br/>&gt;&gt; This breaks linking the XS::APITest extension on VMS and will probably <br/>&gt;&gt; do the same on AIX or anything else with a strict linker. The docs in <br/>&gt;&gt; embed.fnc say: <br/>&gt;&gt; : E Visible to extensions included in the Perl core: <br/>&gt;&gt; : <br/>&gt;&gt; : in embed.h, change &quot;#ifdef PERL_CORE&quot; <br/>&gt;&gt; : into &quot;#if defined(PERL_CORE) || defined(PERL_EXT)&quot; <br/>&gt;&gt; : <br/>&gt;&gt; : To be usable from dynamically loaded extensions, either: <br/>&gt;&gt; : 1) must be static to its containing file (&quot;i&quot; or &quot;s&quot; flag); or <br/>&gt;&gt; : 2) be combined with the &quot;X&quot; flag. <br/>&gt;&gt; Neither 1 nor 2 was done in this case. A wild guess would be that X is <br/>&gt;&gt; required or that XS::APITest, whose name implies that it has something <br/>&gt;&gt; to do with testing the API, might need changes to track removals from <br/>&gt;&gt; the API. <br/>&gt; <br/>&gt; X is added in 73d689df0b635676359707f9eaa2ce012ada9fd7 <br/> <br/>Thanks, that did the trick. <br/> <br/>________________________________________ <br/>Craig A. Berry <br/> <br/>&quot;... getting out of a sonnet is much more <br/> difficult than getting in.&quot; <br/> Brad Leithauser <br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247414.html Fri, 17 Nov 2017 17:54:12 +0000 Re: [perl #132443] Cygwin::win_to_posix_path() fails, possiblememory corruption by "Lando Nachtmann" via perl5-porters Ah! Thank you. <br/>I was trying out different encodings like ASCII or windows-1252 on the XML input side, but XML::DOM seems to output wide characters anyhow. Down-conversion to one byte is fine for our purposes. <br/> <br/>16. November 2017 20:22, &quot;Achim Gratz via RT&quot; &lt;perlbug-followup@perl.org&gt; schrieb: <br/> <br/>&gt; Lando Nachtmann writes: <br/>&gt; <br/>&gt;&gt; The Perl-integrated conversion function for Cygwin paths <br/>&gt;&gt; Cygwin::win_to_posix_path() is broken. <br/>&gt; <br/>&gt; I&#39;d say it behaves exactly as documented, though not as you expected. <br/>&gt; Its documentation says it won&#39;t convert &quot;double byte characters&quot; (due to <br/>&gt; the Win32 interface it uses behind the scenes) and XML::DOM seems to <br/>&gt; feed it UTF-8, which Perl dutifully hands in as argument. Your example <br/>&gt; works if you downgrade the string before feeding it to the conversion <br/>&gt; function since it doesn&#39;t use any code point above 255. That conversion <br/>&gt; routine goes back several years and Cygwin versiosn and should probably <br/>&gt; be upgraded to use newer interfaces that can properly deal with UTF in <br/>&gt; path names plus it also seems to need an overhaul in recognizing what <br/>&gt; kind of string it gets fed and warn as needed instead of producing <br/>&gt; random errors or no result. <br/>&gt; <br/>&gt; Regards, <br/>&gt; Achim. <br/>&gt; -- <br/>&gt; +&lt;[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]&gt;+ <br/>&gt; <br/>&gt; Factory and User Sound Singles for Waldorf Blofeld: <br/>&gt; http://Synth.Stromeko.net/Downloads.html#WaldorfSounds <br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247413.html Fri, 17 Nov 2017 17:25:58 +0000 Re: RFC: remove Locale-Codes from core modules by sbeck On 11/16/2017 08:09 AM, Sullivan Beck (perl5porters) wrote:<br/>&gt; On 11/15/2017 05:06 PM, Dagfinn Ilmari Manns&aring;ker wrote:<br/>&gt;&gt; Sawyer X &lt;xsawyerx@gmail.com&gt; writes:<br/>&gt;&gt;<br/>&gt;&gt;&gt; On 11/15/2017 10:19 PM, Dagfinn Ilmari Manns&aring;ker wrote:<br/>&gt;&gt;&gt;&gt; Sawyer X &lt;xsawyerx@gmail.com&gt; writes:<br/>&gt;&gt;&gt;&gt;<br/>&gt;&gt;&gt;&gt;&gt; On 11/15/2017 06:44 PM, Sullivan Beck (CPAN) wrote:<br/>&gt;&gt;&gt;&gt; [...]<br/>&gt;&gt;&gt;&gt;&gt;&gt; I will be releasing a new version in a couple weeks (Dec 1).&nbsp; <br/>&gt;&gt;&gt;&gt;&gt;&gt; Should I<br/>&gt;&gt;&gt;&gt;&gt;&gt; submit a patch (as I have in the past), or will Locale-Codes <br/>&gt;&gt;&gt;&gt;&gt;&gt; simply be<br/>&gt;&gt;&gt;&gt;&gt;&gt; removed from core?<br/>&gt;&gt;&gt;&gt; You need to add the following to the user-facing modules in the<br/>&gt;&gt;&gt;&gt; distribution:<br/>&gt;&gt;&gt;&gt;<br/>&gt;&gt;&gt;&gt; &nbsp;&nbsp;&nbsp; use if $] &gt;= 5.027007, &#39;deprecate&#39;;<br/>&gt;&gt;&gt;&gt;<br/>&gt;&gt;&gt;&gt; This will make it emit a warning when it&#39;s used from the core <br/>&gt;&gt;&gt;&gt; location,<br/>&gt;&gt;&gt;&gt; and tell the user to install it from CPAN.<br/>&gt;&gt;&gt; Eek. Will add that.<br/>&gt;&gt; This part was meant for Sullivan (now Cc-ed), in response to what he<br/>&gt;&gt; needs to do in the next upstream release.&nbsp; The version number should be<br/>&gt;&gt; whatever blead point release is next after the updated dist is merged.<br/>&gt;&gt;<br/>&gt;&gt; - ilmari<br/>&gt;<br/>&gt; I&#39;ll submit a patch that:<br/>&gt;<br/>&gt; &nbsp; - adds the next release (which will contain the appropriate use <br/>&gt; &#39;deprecate&#39; line)<br/>&gt; &nbsp; - adds a note to the perldelta pod<br/>&gt;<br/>&gt; With respect to the perldelta note, Dagfinn mentioned that the policy <br/>&gt; states deprecation for one release, but Father Chrysostomos said that <br/>&gt; it&#39;s traditionally been done for 2 release cycles, so I assume that <br/>&gt; this means starting with 5.29/5.30, it&#39;s distributed in core with the <br/>&gt; &#39;deprecate&#39; line and then it&#39;s actually removed in either 5.32 (1 <br/>&gt; cycle) or 5.34 (2 cycles).&nbsp; I will note that in the perldelta (but let <br/>&gt; me know if it should be 1 or 2 cycles).<br/>&gt;<br/><br/>I just uploaded a release 3.55 to CPAN.&nbsp; In addition to the regular <br/>changes to the codes, this release includes the<br/> &nbsp;&nbsp; use if $] &gt;= 5.027007, &#39;deprecate&#39;;<br/>line from Ilmari.&nbsp; It also fixes the INSTALLDIRS variable.<br/><br/>I&#39;m attaching a patch here.&nbsp; If it meets your approval, please apply it <br/>by 5.27.7.<br/><br/>I did NOT modify a perldelta because the only one there was for 5.27.5, <br/>so I&#39;m not certain of the process (if any) of adding it.&nbsp; In any case, <br/>the delta for 5.27.7 should say that Locale::Codes has been deprecated.<br/><br/>If the attached patch has any problems, or if there is anything else <br/>that I can do to help, let me know.<br/><br/>Thanks again for everything.<br/><br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247412.html Fri, 17 Nov 2017 16:39:18 +0000 Re: [perl #132385] BBC: Commit e839e6ed breaks Bit-Vector-7.4 by Andreas Koenig Als affected: ASG/Whatever-0.23.tar.gz<br/><br/>-- <br/>andreas<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247411.html Fri, 17 Nov 2017 15:21:41 +0000 Re: Fwd: Re: BBC: DBM::Deep by Father Chrysostomos Zefram wrote:<br/>&gt; The change in core behaviour is intentional and should remain. As long as<br/>&gt; DBM::Deep has its own warnif logic (which it has for a valid reason, see<br/>&gt; comment in its source) it needs to keep the hack up to date. Fortunately,<br/>&gt; the change required in DBM::Deep is very easy, not even requiring any Perl<br/>&gt; version condition. It just needs to drop the checks of the bits for the<br/>&gt; &quot;all&quot; category. Those checks are now not correct, but interestingly<br/>&gt; they also don&#39;t do anything on older Perl versions. They&#39;re correct on<br/>&gt; older Perl versions, but only relevant for non-core warning categories,<br/>&gt; and DBM::Deep only uses this duplicated warnif on a core category.<br/><br/>Thank you. I have write access to the DBM::Deep repository. I can<br/>change it myself (probably on the weekend).<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247410.html Fri, 17 Nov 2017 14:31:34 +0000 Re: [perl #132460] ambiguity regarding "x" operator in perlop by Zefram &gt;The last one seems to be wrong or ambiguous, AFAIU.<br/><br/>I agree that it&#39;s unclear. Improved in commit<br/>e509fc38e46cb034d777e37ebaf2bf200600f75a.<br/><br/>-zefram<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247409.html Fri, 17 Nov 2017 14:12:18 +0000 [perl #132461] \&foo deparsing is overlong by Zefram # New Ticket Created by Zefram <br/># Please include the string: [perl #132461]<br/># in the subject line of all future correspondence about this issue. <br/># &lt;URL: https://rt.perl.org/Ticket/Display.html?id=132461 &gt;<br/><br/><br/><br/>This is a bug report for perl from zefram@fysh.org,<br/>generated with the help of perlbug 1.40 running under perl 5.27.5.<br/><br/><br/>-----------------------------------------------------------------<br/>[Please describe your issue here]<br/><br/>$ perl -MO=Deparse -e &#39;use strict; print \&amp;foo&#39;<br/>use strict;<br/>print \&amp;main::foo;<br/>-e syntax OK<br/><br/>The deparsing unnecessarily includes package qualification. The deparser<br/>generally avoids unnecessary qualification, for example it doesn&#39;t qualify<br/>the corresponding glob ref. So this seems undesirable behaviour, which<br/>should probably be changed.<br/><br/>The conditions for this to happen are an &quot;&amp;foo&quot; reference to a sub,<br/>where the sub is in the current package, the sub is not being called,<br/>&quot;use strict &#39;vars&#39;&quot; is in effect, and no lexical sub of the same name<br/>is in scope. It has not always been this way: prior to Perl 5.21.7 the<br/>package qualification was not included. Crucially, this changed at the<br/>same time as a related bugfix: in the early days of lexical subs the<br/>deparser would emit &quot;&amp;foo&quot; for a package sub even if it was shadowed by<br/>a lexical sub, then in 5.21.7 the deparser started package-qualifying<br/>shadowed subs. So the present behaviour seems to be a mistake, arising<br/>from treating subs just like scalars in the relationship between package<br/>and lexical namespaces. It was correct to look for lexical shadowing,<br/>but undesirable to suppose that &quot;use strict &#39;vars&#39;&quot; would apply to them.<br/><br/>Recently the deparsing of the affected case was accidentally<br/>`fixed&#39; to the short form (without reintroducing any shadowing bug)<br/>by commit dd6661605fe0a54c602f2e55f875acfdcd330b79. However, this<br/>broke a test in Devel::Cover&#39;s test suite. The test is sensitive to<br/>non-guaranteed details of deparsing, and has a mechanism for updating<br/>expectations when the deparsing changes, which had already been applied<br/>to change the expectation in 5.22. Because breaking this test wasn&#39;t<br/>intentional, the deparsing was changed back to the long form in commit<br/>257296eb9dbe871f5ba95266c9a55fa0feead316 to resolve the BBC. This ticket<br/>is about *intentionally* fixing it.<br/><br/>To fix the deparsing, revert the code part of commit<br/>257296eb9dbe871f5ba95266c9a55fa0feead316, and update the &quot;\&amp;foo&quot; and<br/>&quot;exists(&amp;foo)&quot; tests added by that commit. The change will break<br/>Devel::Cover, so best make sure pjcj is ready first.<br/><br/>[Please do not change anything below this line]<br/>-----------------------------------------------------------------<br/>---<br/>Flags:<br/> category=library<br/> severity=low<br/> module=B::Deparse<br/>---<br/>Site configuration information for perl 5.27.5:<br/><br/>Configured by zefram at Fri Oct 20 23:24:00 BST 2017.<br/><br/>Summary of my perl5 (revision 5 version 27 subversion 5) configuration:<br/> <br/> Platform:<br/> osname=linux<br/> osvers=3.16.0-4-amd64<br/> archname=x86_64-linux-thread-multi<br/> uname=&#39;linux barba.rous.org 3.16.0-4-amd64 #1 smp debian 3.16.43-2+deb8u2 (2017-06-26) x86_64 gnulinux &#39;<br/> config_args=&#39;-des -Dprefix=/home/zefram/usr/perl/perl_install/perl-5.27.5-i64-f52 -Duselargefiles -Dusethreads -Uafs -Ud_csh -Uusesfio -Uusenm -Duseshrplib -Dusedevel -Uversiononly -Ui_db&#39;<br/> hint=recommended<br/> useposix=true<br/> d_sigaction=define<br/> useithreads=define<br/> usemultiplicity=define<br/> use64bitint=define<br/> use64bitall=define<br/> uselongdouble=undef<br/> usemymalloc=n<br/> default_inc_excludes_dot=define<br/> bincompat5005=undef<br/> Compiler:<br/> cc=&#39;cc&#39;<br/> ccflags =&#39;-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2&#39;<br/> optimize=&#39;-O2&#39;<br/> cppflags=&#39;-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include&#39;<br/> ccversion=&#39;&#39;<br/> gccversion=&#39;4.9.2&#39;<br/> gccosandvers=&#39;&#39;<br/> intsize=4<br/> longsize=8<br/> ptrsize=8<br/> doublesize=8<br/> byteorder=12345678<br/> doublekind=3<br/> d_longlong=define<br/> longlongsize=8<br/> d_longdbl=define<br/> longdblsize=16<br/> longdblkind=3<br/> ivtype=&#39;long&#39;<br/> ivsize=8<br/> nvtype=&#39;double&#39;<br/> nvsize=8<br/> Off_t=&#39;off_t&#39;<br/> lseeksize=8<br/> alignbytes=8<br/> prototype=define<br/> Linker and Libraries:<br/> ld=&#39;cc&#39;<br/> ldflags =&#39; -fstack-protector-strong -L/usr/local/lib&#39;<br/> libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib<br/> libs=-lpthread -lnsl -ldb -ldl -lm -lcrypt -lutil -lc<br/> perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc<br/> libc=libc-2.19.so<br/> so=so<br/> useshrplib=true<br/> libperl=libperl.so<br/> gnulibc_version=&#39;2.19&#39;<br/> Dynamic Linking:<br/> dlsrc=dl_dlopen.xs<br/> dlext=so<br/> d_dlsymun=undef<br/> ccdlflags=&#39;-Wl,-E -Wl,-rpath,/home/zefram/usr/perl/perl_install/perl-5.27.5-i64-f52/lib/5.27.5/x86_64-linux-thread-multi/CORE&#39;<br/> cccdlflags=&#39;-fPIC&#39;<br/> lddlflags=&#39;-shared -O2 -L/usr/local/lib -fstack-protector-strong&#39;<br/><br/><br/>---<br/>@INC for perl 5.27.5:<br/> /home/zefram/usr/perl/perl_install/perl-5.27.5-i64-f52/lib/site_perl/5.27.5/x86_64-linux-thread-multi<br/> /home/zefram/usr/perl/perl_install/perl-5.27.5-i64-f52/lib/site_perl/5.27.5<br/> /home/zefram/usr/perl/perl_install/perl-5.27.5-i64-f52/lib/5.27.5/x86_64-linux-thread-multi<br/> /home/zefram/usr/perl/perl_install/perl-5.27.5-i64-f52/lib/5.27.5<br/><br/>---<br/>Environment for perl 5.27.5:<br/> HOME=/home/zefram<br/> LANG (unset)<br/> LANGUAGE (unset)<br/> LD_LIBRARY_PATH (unset)<br/> LOGDIR (unset)<br/> PATH=/home/zefram/usr/perl/perl_install/perl-5.27.5-i64-f52/bin:/home/zefram/usr/perl/util:/home/zefram/pub/x86_64-unknown-linux-gnu/bin:/home/zefram/pub/common/bin:/usr/bin:/bin:/usr/local/bin:/usr/games<br/> PERL_BADLANG (unset)<br/> SHELL=/usr/bin/zsh<br/><br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247408.html Fri, 17 Nov 2017 10:21:00 +0000 Re: $EXPORT_ALL now warns by demerphq Since I was on my phone when I wrote my original reply, I wanted to<br/>reply in more detail.<br/><br/>On 17 November 2017 at 09:45, demerphq &lt;demerphq@gmail.com&gt; wrote:<br/>&gt; On 17 Nov 2017 05:11, &quot;Father Chrysostomos&quot; &lt;sprout@cpan.org&gt; wrote:<br/>&gt;<br/>&gt; $EXPORT_ALL now warns<br/>&gt;<br/>&gt; Yves Orton made this commit about a year ago:<br/>&gt;&gt; commit eafd371ce091bf61fe1673448eee5e53c4b0ef32<br/>&gt;&gt; Author: Yves Orton &lt;demerphq@gmail.com&gt;<br/>&gt;&gt; Date: Wed Oct 19 11:09:00 2016 +0200<br/>&gt;&gt;<br/>&gt;&gt; gv.c: rework special var matching logic to be simpler<br/>&gt;&gt;<br/>&gt;&gt; The old code used a bunch of tricks that IMO are unlikely<br/>&gt;&gt; to actually make any performance difference, and make<br/>&gt;&gt; the code harder to read, search, and understand, and less<br/>&gt;&gt; amenable to using string constant friendly macros.<br/>&gt;&gt;<br/>&gt;&gt; So for instance instead of switching on the first char<br/>&gt;&gt; and then comparing the second on for an exact match<br/>&gt;&gt; instead just compare the full string. The extra char<br/>&gt;&gt; is unlikely to make a difference to the underlying code<br/>&gt;&gt; that gets called, and the end result is easier searching.<br/>&gt;&gt;<br/>&gt;&gt; Another issue is that some of the code was inadverdantly<br/>&gt;&gt; doing prefix matches, and not exact matchs for certain<br/>&gt;&gt; magic var names. This is fixed as part of these changes.<br/>&gt;&gt;<br/>&gt;&gt; I would argu that the EXPORT check was not inadvertently a prefix<br/>&gt;&gt; check. And when somebody proposed changing it in another thread a<br/>&gt;&gt; few years back, I cited various CPAN modules that showed that people<br/>&gt;&gt; were relying on it.<br/><br/> I think that the evidence is ambiguous on this at best. (Without<br/>asking Larry which I have not done.)<br/><br/>This code was part of the perl 5 mega-commit a0d0e21e.<br/><br/>There is no comment to explain why it uses strneq() and not streq().<br/>There is nothing to say that it is deliberately exempting any var of<br/>any type that starts with EXPORTER. It is just as reasonable to say<br/>its just a simple way to allow the various intended EXPORT vars<br/>without realizing the full implications.<br/><br/>There is no documentation or comment to support that every package var<br/>of every type that starts with EXPORT is exempt from use once<br/>warnings.<br/><br/>We document that @EXPORT, @EXPORT_OK and @EXPORT_ALL and %EXPORT_TAGS<br/>are special to perl (and thus implicitly explain why they are exempt).<br/><br/>So it seems as reasonable to assume that it was an oversight as it was<br/>it was intentional.<br/><br/>Also, I disagree with the contention that they are &quot;using&quot; anything.<br/>The bug here was that we did not warn when we should have. They may be<br/>benefiting from this oversight, but since we did not document or<br/>promise it, I contend this is a bugfix restoring promised behavior,<br/>not a regression of removing one that we have committed to providing.<br/><br/>&gt; We discussed it as the time and decided that since it meant<br/>&gt;<br/>&gt; @EXPORT_ALLL<br/>&gt;<br/>&gt; and similar typos would be silently ignored and that the behaviour was<br/>&gt; undocumented this change was warranted.<br/><br/>To restate this point in different words: it seems that the<br/>consequences of ignoring typos of these variables is worse than<br/>restoring these warnings.<br/><br/>&gt; In any case, I recommend we revert to the previous behaviour of<br/>&gt; exempting anything beginning with EXPORT from &#39;used once&#39; warn-<br/>&gt; ings. And the change should be backported to 5.26.x, since it is a<br/>&gt; regression.<br/>&gt;<br/>&gt;<br/>&gt; I don&#39;t think that is the right thing to do frankly.<br/><br/>In other words, we have other options. For instance a patch like this:<br/><br/>diff --git a/gv.c b/gv.c<br/>index bc5b388..1d19de6 100644<br/>--- a/gv.c<br/>+++ b/gv.c<br/>@@ -1903,7 +1903,8 @@ S_gv_magicalize(pTHX_ GV *gv, HV *stash, const<br/>char *name, STRLEN len,<br/> (memEQs(name, len, &quot;EXPORT&quot;)<br/> ||memEQs(name, len, &quot;EXPORT_OK&quot;)<br/> ||memEQs(name, len, &quot;EXPORT_FAIL&quot;)<br/>- ||memEQs(name, len, &quot;EXPORT_TAGS&quot;))<br/>+ ||memEQs(name, len, &quot;EXPORT_TAGS&quot;)<br/>+ ||memEQs(name, len, &quot;EXPORT_ANY&quot;))<br/> )<br/> GvMULTI_on(gv);<br/> break;<br/><br/><br/>But frankly IMO the right thing to do is add a way to register<br/>specific variable names and types as being exempt from used once<br/>warnings. Then we can get rid of all of this malarky: EXPORT isnt even<br/>*really* part of core, it is an Exporter.pm thing whos interface got<br/>blessed into semi-official status. Why shouldnt any module be able to<br/>register *its* control variable as well? If we had that then this<br/>problem would go away. If you used Exporter then @EXPORT_ALL would be<br/>fine, if you didn&#39;t we would warn.<br/><br/>cheers,<br/>Yves<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247407.html Fri, 17 Nov 2017 09:58:41 +0000 Re: Fwd: Re: BBC: Devel::Cover by Zefram I wrote:<br/>&gt;This looks like a change in deparsing, presumably caused by my commit<br/>&gt;dd6661605fe0a54c602f2e55f875acfdcd330b79.<br/><br/>Indeed it is. Took ages to reduce it to a failing test; the conditions<br/>for it to arise are quite specific. Both deparsings are correct, but I<br/>didn&#39;t intend to change it in that commit, so I&#39;ve restored the former<br/>deparsing in commit 257296eb9dbe871f5ba95266c9a55fa0feead316.<br/><br/>However, I&#39;m pretty sure that the former deparsing was a mistake, and<br/>that my earlier commit was actually an accidental fix. I&#39;ll open a<br/>ticket about potentially making this change intentionally.<br/><br/>-zefram<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247406.html Fri, 17 Nov 2017 09:23:02 +0000 Re: $EXPORT_ALL now warns by demerphq On 17 Nov 2017 05:11, &quot;Father Chrysostomos&quot; &lt;sprout@cpan.org&gt; wrote:<br/><br/>$EXPORT_ALL now warns<br/><br/>Yves Orton made this commit about a year ago:<br/>&gt; commit eafd371ce091bf61fe1673448eee5e53c4b0ef32<br/>&gt; Author: Yves Orton &lt;demerphq@gmail.com&gt;<br/>&gt; Date: Wed Oct 19 11:09:00 2016 +0200<br/>&gt;<br/>&gt; gv.c: rework special var matching logic to be simpler<br/>&gt;<br/>&gt; The old code used a bunch of tricks that IMO are unlikely<br/>&gt; to actually make any performance difference, and make<br/>&gt; the code harder to read, search, and understand, and less<br/>&gt; amenable to using string constant friendly macros.<br/>&gt;<br/>&gt; So for instance instead of switching on the first char<br/>&gt; and then comparing the second on for an exact match<br/>&gt; instead just compare the full string. The extra char<br/>&gt; is unlikely to make a difference to the underlying code<br/>&gt; that gets called, and the end result is easier searching.<br/>&gt;<br/>&gt; Another issue is that some of the code was inadverdantly<br/>&gt; doing prefix matches, and not exact matchs for certain<br/>&gt; magic var names. This is fixed as part of these changes.<br/><br/>I would argu that the EXPORT check was not inadvertently a prefix<br/>check. And when somebody proposed changing it in another thread a<br/>few years back, I cited various CPAN modules that showed that people<br/>were relying on it.<br/><br/><br/>We discussed it as the time and decided that since it meant<br/><br/>@EXPORT_ALLL<br/><br/>and similar typos would be silently ignored and that the behaviour was<br/>undocumented this change was warranted.<br/><br/><br/>This commit changed the behaviour, such that @EXPORT does not warn,<br/>but EXPORT_ANY (used on CPAN) does warn. (See rt.cpan.org #123633.)<br/>If I had known about this change in behaviour at the time, I would<br/>have spoken up.<br/><br/><br/>But maybe not won the case.<br/><br/><br/>In any case, I recommend we revert to the previous behaviour of<br/>exempting anything beginning with EXPORT from &#39;used once&#39; warn-<br/>ings. And the change should be backported to 5.26.x, since it is a<br/>regression.<br/><br/><br/>I don&#39;t think that is the right thing to do frankly.<br/><br/><br/><br/>Also, if someone is committing a change that changes observable behav-<br/>iour, please make the first line of the commit message say so. This:<br/><br/>&gt; gv.c: rework special var matching logic to be simpler<br/><br/>does not sound like a commit worth looking at. It sounds like a pure<br/>refactoring. This:<br/><br/>&gt; gv.c: Stop doing prefix matching on special vars<br/><br/>would at least have prompted me to take a closer look.<br/><br/><br/><br/>Ok, fair enough on the commit message.<br/><br/>Yves<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247405.html Fri, 17 Nov 2017 08:45:56 +0000 Re: [perl #132252] Blead Breaks CPAN: Role::Tiny, Variable::Magic,Moo by Andreas Koenig &gt;&gt;&gt;&gt;&gt; On Thu, 16 Nov 2017 20:28:00 -0800, &quot;Father Chrysostomos via RT&quot; &lt;perlbug-followup@perl.org&gt; said:<br/><br/> &gt; If you install Moo from the GitHub repository, you can test other<br/> &gt; modules. (That is what I have been doing for the past couple of weeks<br/> &gt; now, but I am testing them manually one by one, so it is slow.)<br/><br/>Yes, I know, and I occasionally play this game too, but there is also<br/>the need to keep the breakages that cpantesters deal with in sync with<br/>what the normal enduser is dealing with. If I apply all patches<br/>available, I reflect some state that nobody else is facing.<br/><br/>I&#39;d rather see patches kept back that break something that has thousands<br/>of dependencies until those known cases have fixed releases.<br/><br/>-- <br/>andreas<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247404.html Fri, 17 Nov 2017 07:25:43 +0000 [perl #132460] ambiguity regarding "x" operator in perlop by perlbug-followup # New Ticket Created by <br/># Please include the string: [perl #132460]<br/># in the subject line of all future correspondence about this issue. <br/># &lt;URL: https://rt.perl.org/Ticket/Display.html?id=132460 &gt;<br/><br/><br/><br/>This is a bug report for perl from calestyo@scientia.net,<br/>generated with the help of perlbug 1.40 running under perl 5.26.1.<br/><br/><br/>-----------------------------------------------------------------<br/>In perlop it says:<br/>&gt;Binary &quot;x&quot; is the repetition operator. In scalar<br/>&gt;context or if the left operand is not enclosed in<br/>&gt;parentheses, it returns a string consisting of the<br/>&gt;left operand repeated the number of times specified<br/>&gt;by the right operand.<br/><br/>&gt;In list context, if the left operand is enclosed<br/>&gt;in parentheses or is a list formed by qw/STRING/,<br/>&gt;it repeats the list.<br/><br/>The last one seems to be wrong or ambiguous, AFAIU.<br/>The list context alone (WITHOUT &quot;()&quot;), doesn&#39;t make<br/>it repeat/create a list.<br/>E.g.<br/>@a=5x3;<br/>seems to give an array with one element being the string<br/>&quot;555&quot;.<br/><br/>So the sentence should rather read:<br/>&gt;In list context _AND_ if the left operand is enclosed<br/>&gt;in parentheses or is a list formed by qw/STRING/,<br/>&gt;it repeats the list.<br/><br/>Cheers,<br/>Chris.<br/><br/>-----------------------------------------------------------------<br/>---<br/>Flags:<br/> category=docs<br/> severity=low<br/>---<br/>Site configuration information for perl 5.26.1:<br/><br/>Configured by Debian Project at Wed Oct 25 15:19:46 UTC 2017.<br/><br/>Summary of my perl5 (revision 5 version 26 subversion 1) configuration:<br/> <br/> Platform:<br/> osname=linux<br/> osvers=4.9.0<br/> archname=x86_64-linux-gnu-thread-multi<br/> uname=&#39;linux localhost 4.9.0 #1 smp debian 4.9.0 x86_64 gnulinux &#39;<br/> config_args=&#39;-Dusethreads -Duselargefiles -Dcc=x86_64-linux-gnu-gcc -Dcpp=x86_64-linux-gnu-cpp -Dld=x86_64-linux-gnu-gcc -Dccflags=-DDEBIAN -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/perl-UQ756g/perl-5.26.1=. -fstack-protector-strong -Wformat -Werror=format-security -Dldflags= -Wl,-z,relro -Dlddlflags=-shared -Wl,-z,relro -Dcccdlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.26 -Darchlib=/usr/lib/x86_64-linux-gnu/perl/5.26 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/x86_64-linux-gnu/perl5/5.26 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.26.1 -Dsitearch=/usr/local/lib/x86_64-linux-gnu/perl/5.26.1 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Duse64bitint -Dman1ext=1 -Dman3ext=3perl<br/>-Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -Ui_libutil -Uversiononly -DDEBUGGING=-g -Doptimize=-O2 -dEs -Duseshrplib -Dlibperl=libperl.so.5.26.1&#39;<br/> hint=recommended<br/> useposix=true<br/> d_sigaction=define<br/> useithreads=define<br/> usemultiplicity=define<br/> use64bitint=define<br/> use64bitall=define<br/> uselongdouble=undef<br/> usemymalloc=n<br/> default_inc_excludes_dot=define<br/> bincompat5005=undef<br/> Compiler:<br/> cc=&#39;x86_64-linux-gnu-gcc&#39;<br/> ccflags =&#39;-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64&#39;<br/> optimize=&#39;-O2 -g&#39;<br/> cppflags=&#39;-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include&#39;<br/> ccversion=&#39;&#39;<br/> gccversion=&#39;7.2.0&#39;<br/> gccosandvers=&#39;&#39;<br/> intsize=4<br/> longsize=8<br/> ptrsize=8<br/> doublesize=8<br/> byteorder=12345678<br/> doublekind=3<br/> d_longlong=define<br/> longlongsize=8<br/> d_longdbl=define<br/> longdblsize=16<br/> longdblkind=3<br/> ivtype=&#39;long&#39;<br/> ivsize=8<br/> nvtype=&#39;double&#39;<br/> nvsize=8<br/> Off_t=&#39;off_t&#39;<br/> lseeksize=8<br/> alignbytes=8<br/> prototype=define<br/> Linker and Libraries:<br/> ld=&#39;x86_64-linux-gnu-gcc&#39;<br/> ldflags =&#39; -fstack-protector-strong -L/usr/local/lib&#39;<br/> libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib<br/> libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt<br/> perllibs=-ldl -lm -lpthread -lc -lcrypt<br/> libc=libc-2.24.so<br/> so=so<br/> useshrplib=true<br/> libperl=libperl.so.5.26<br/> gnulibc_version=&#39;2.24&#39;<br/> Dynamic Linking:<br/> dlsrc=dl_dlopen.xs<br/> dlext=so<br/> d_dlsymun=undef<br/> ccdlflags=&#39;-Wl,-E&#39;<br/> cccdlflags=&#39;-fPIC&#39;<br/> lddlflags=&#39;-shared -L/usr/local/lib -fstack-protector-strong&#39;<br/><br/>Locally applied patches:<br/> DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN.<br/> DEBPKG:debian/db_file_ver - https://bugs.debian.org/340047 Remove overly restrictive DB_File version check.<br/> DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information.<br/> DEBPKG:debian/enc2xs_inc - https://bugs.debian.org/290336 Tweak enc2xs to follow symlinks and ignore missing @INC directories.<br/> DEBPKG:debian/errno_ver - https://bugs.debian.org/343351 Remove Errno version check due to upgrade problems with long-running processes.<br/> DEBPKG:debian/libperl_embed_doc - https://bugs.debian.org/186778 Note that libperl-dev package is required for embedded linking<br/> DEBPKG:fixes/respect_umask - Respect umask during installation<br/> DEBPKG:debian/writable_site_dirs - Set umask approproately for site install directories<br/> DEBPKG:debian/extutils_set_libperl_path - EU:MM: set location of libperl.a under /usr/lib<br/> DEBPKG:debian/no_packlist_perllocal - Don&#39;t install .packlist or perllocal.pod for perl or vendor<br/> DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets.<br/> DEBPKG:debian/instmodsh_doc - Debian policy doesn&#39;t install .packlist files for core or vendor.<br/> DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy.<br/> DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable.<br/> DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian<br/> DEBPKG:debian/perlivp - https://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local<br/> DEBPKG:debian/deprecate-with-apt - https://bugs.debian.org/747628 Point users to Debian packages of deprecated core modules<br/> DEBPKG:debian/squelch-locale-warnings - https://bugs.debian.org/508764 Squelch locale warnings in Debian package maintainer scripts<br/> DEBPKG:debian/patchlevel - https://bugs.debian.org/567489 List packaged patches for 5.26.1-2 in patchlevel.h<br/> DEBPKG:fixes/document_makemaker_ccflags - https://bugs.debian.org/628522 [rt.cpan.org #68613] Document that CCFLAGS should include $Config{ccflags}<br/> DEBPKG:debian/find_html2text - https://bugs.debian.org/640479 Configure CPAN::Distribution with correct name of html2text<br/> DEBPKG:debian/perl5db-x-terminal-emulator.patch - https://bugs.debian.org/668490 Invoke x-terminal-emulator rather than xterm in perl5db.pl<br/> DEBPKG:debian/cpan-missing-site-dirs - https://bugs.debian.org/688842 Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent is writable<br/> DEBPKG:fixes/memoize_storable_nstore - [rt.cpan.org #77790] https://bugs.debian.org/587650 Memoize::Storable: respect &#39;nstore&#39; option not respected<br/> DEBPKG:debian/makemaker-pasthru - https://bugs.debian.org/758471 Pass LD settings through to subdirectories<br/> DEBPKG:debian/makemaker-manext - https://bugs.debian.org/247370 Make EU::MakeMaker honour MANnEXT settings in generated manpage headers<br/> DEBPKG:debian/kfreebsd-softupdates - https://bugs.debian.org/796798 Work around Debian Bug#796798<br/> DEBPKG:fixes/autodie-scope - https://bugs.debian.org/798096 Fix a scoping issue with &quot;no autodie&quot; and the &quot;system&quot; sub<br/> DEBPKG:fixes/memoize-pod - [rt.cpan.org #89441] Fix POD errors in Memoize<br/> DEBPKG:debian/hurd-softupdates - https://bugs.debian.org/822735 Fix t/op/stat.t failures on hurd<br/> DEBPKG:fixes/math_complex_doc_great_circle - https://bugs.debian.org/697567 [rt.cpan.org #114104] Math::Trig: clarify definition of great_circle_midpoint<br/> DEBPKG:fixes/math_complex_doc_see_also - https://bugs.debian.org/697568 [rt.cpan.org #114105] Math::Trig: add missing SEE ALSO<br/> DEBPKG:fixes/math_complex_doc_angle_units - https://bugs.debian.org/731505 [rt.cpan.org #114106] Math::Trig: document angle units<br/> DEBPKG:fixes/cpan_web_link - https://bugs.debian.org/367291 CPAN: Add link to main CPAN web site<br/> DEBPKG:fixes/time_piece_doc - https://bugs.debian.org/817925 Time::Piece: Improve documentation for add_months and add_years<br/> DEBPKG:fixes/extutils_makemaker_reproducible - https://bugs.debian.org/835815 https://bugs.debian.org/834190 Make perllocal.pod files reproducible<br/> DEBPKG:fixes/file_path_hurd_errno - File-Path: Fix test failure in Hurd due to hard-coded ENOENT<br/> DEBPKG:debian/hppa_op_optimize_workaround - https://bugs.debian.org/838613 Temporarily lower the optimization of op.c on hppa due to gcc-6 problems<br/> DEBPKG:debian/installman-utf8 - https://bugs.debian.org/840211 Generate man pages with UTF-8 characters<br/> DEBPKG:fixes/file_path_chmod_race - https://bugs.debian.org/863870 [rt.cpan.org #121951] Prevent directory chmod race attack.<br/> DEBPKG:fixes/extutils_file_path_compat - Correct the order of tests of chmod(). (#294)<br/> DEBPKG:fixes/getopt-long-2 - [rt.cpan.org #120300] Withdraw part of commit 5d9947fb445327c7299d8beb009d609bc70066c0, which tries to implement more GNU getopt_long campatibility. GNU<br/> DEBPKG:fixes/getopt-long-3 - provide a default value for optional arguments<br/> DEBPKG:fixes/getopt-long-4 - https://bugs.debian.org/864544 [rt.cpan.org #122068] Fix issue #122068.<br/> DEBPKG:fixes/test-builder-reset - https://bugs.debian.org/865894 Reset inside subtest maintains parent<br/> DEBPKG:debian/hppa_opmini_optimize_workaround - https://bugs.debian.org/869122 Lower the optimization level of opmini.c on hppa<br/> DEBPKG:debian/sh4_op_optimize_workaround - https://bugs.debian.org/869373 Also lower the optimization level of op.c and opmini.c on sh4<br/> DEBPKG:fixes/json-pp-example - [rt.cpan.org #92793] https://bugs.debian.org/871837 fix RT-92793: bug in SYNOPSIS<br/> DEBPKG:debian/perldoc-pager - https://bugs.debian.org/870340 [rt.cpan.org #120229] Fix perldoc terminal escapes when sensible-pager is less<br/> DEBPKG:debian/prune_libs - https://bugs.debian.org/128355 Prune the list of libraries wanted to what we actually need.<br/> DEBPKG:debian/configure-regen - https://bugs.debian.org/762638 Regenerate Configure et al. after probe unit changes<br/> DEBPKG:fixes/rename-filexp.U-phase1 - regen-configure: rename filexp.U to filexp_path.U, phase 1<br/> DEBPKG:fixes/rename-filexp.U-phase2 - regen-configure: rename filexp.U to filexp_path.U, phase 2<br/> DEBPKG:fixes/packaging_test_skips - Skip various tests if PERL_BUILD_PACKAGING is set<br/><br/>---<br/>@INC for perl 5.26.1:<br/> /etc/perl<br/> /usr/local/lib/x86_64-linux-gnu/perl/5.26.1<br/> /usr/local/share/perl/5.26.1<br/> /usr/lib/x86_64-linux-gnu/perl5/5.26<br/> /usr/share/perl5<br/> /usr/lib/x86_64-linux-gnu/perl/5.26<br/> /usr/share/perl/5.26<br/> /usr/local/lib/site_perl<br/> /usr/lib/x86_64-linux-gnu/perl-base<br/><br/>---<br/>Environment for perl 5.26.1:<br/> HOME=/home/calestyo<br/> LANG=en_DE.UTF-8<br/> LANGUAGE (unset)<br/> LD_LIBRARY_PATH (unset)<br/> LOGDIR (unset)<br/> PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games<br/> PERL_BADLANG (unset)<br/> SHELL=/bin/bash<br/><br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247403.html Fri, 17 Nov 2017 06:09:29 +0000 Re: [perl #132446] pod2usage can invoke system($Config{pager},...)which is "less -R" => error by Karl Berry 1) I&#39;ll be happy to send a report to bug-Pod-Usage if that is desired.<br/>Or maybe you can just redirect this RT ticket there? Whatever works.<br/><br/>Meanwhile, to answer some of the questions that have been asked:<br/><br/>2) It is perl&#39;s Configure which is setting $Config{pager} to<br/>&quot;/usr/bin/less -R&quot;, including the argument. (If you search for the<br/>literal string &quot;$less&quot; in Configure, you will see.)<br/><br/>Configure has evidently been doing this since perl 5.12 (ca.2011).<br/>Perl 5.10.1 sets it to just &quot;/full/path/name/less&quot;, without options.<br/>I am not passing any special arguments to Configure.<br/>FWIW, example command that I used to inspect:<br/> ./perl5.10.1 -e &#39;use Config; print $Config{pager}, &quot;\n&quot;&#39;<br/><br/>2) The bug is evident. To repeat, line 164 of current Pod/Usage.pm is:<br/> system(($Config{pager} || $ENV{PAGER} || &#39;/bin/more&#39;), $1);<br/>which assumes $Config{pager} is merely the executable name, because<br/>it&#39;s calling system() with a list. Thus whitespace is not parsed<br/>into words. I can construct an example if I must.<br/><br/>3) This code in Pod/Usage.pm has not changed since at least 5.10.1. Thus<br/>the assumption that $Config{pager} was a simple string was valid when it<br/>was written, and the Configure script changed. FWIW, command I used to inspect:<br/> grep &#39;Config{pager}&#39; `locate Pod/Usage.pm`<br/><br/>4) I am nobody, but nevertheless, FWIW &amp; IMHO, it seems a lot more<br/>sensible to change Pod/Usage.pm, as Leon suggested, than to change<br/>Configure back to making $Config{pager} being a bare pathname, merely<br/>for this obscure case. That would surely break many more things which<br/>rely on the current (and good) Configure behavior.<br/><br/>5) Independently, it still seems to me that, on that line, $ENV{PAGER}<br/>should be preferred to the Perl-determined pager.<br/><br/>Thanks,<br/>Karl<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247402.html Fri, 17 Nov 2017 06:09:18 +0000 Re: Fwd: Re: BBC: DBM::Deep by Zefram James E Keenan wrote:<br/>&gt;Assignment of stale reference at t/39_singletons.t line 68.<br/>&gt;# Tests were run but no plan was declared and done_testing() was not seen.<br/>&gt;# Looks like your test exited with 255 just after 11.<br/>&gt;t/39_singletons.t ............... <br/>&gt;Dubious, test returned 255 (wstat 65280, 0xff00)<br/>&gt;All 11 subtests passed <br/><br/>This is due to the change for non-core warning categories, commit<br/>006c1a1dbd541b84351332b0d315508f789f3bd1. There&#39;s a non-core warning<br/>here, actually in a core category, but necessarily using warnif logic.<br/>The problem is that DBM::Deep doesn&#39;t use warnings::warnif(), but<br/>instead replicates its logic, looking into the bitset itself. It&#39;s been<br/>tripped up by the regularisation of the bits for the &quot;all&quot; category,<br/>which requires a change in logic, which of course has been changed in<br/>warnings::warnif().<br/><br/>The change in core behaviour is intentional and should remain. As long as<br/>DBM::Deep has its own warnif logic (which it has for a valid reason, see<br/>comment in its source) it needs to keep the hack up to date. Fortunately,<br/>the change required in DBM::Deep is very easy, not even requiring any Perl<br/>version condition. It just needs to drop the checks of the bits for the<br/>&quot;all&quot; category. Those checks are now not correct, but interestingly<br/>they also don&#39;t do anything on older Perl versions. They&#39;re correct on<br/>older Perl versions, but only relevant for non-core warning categories,<br/>and DBM::Deep only uses this duplicated warnif on a core category.<br/><br/>-zefram<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247401.html Fri, 17 Nov 2017 05:58:35 +0000 Re: Fwd: Re: BBC: Devel::Cover by Zefram James E Keenan wrote:<br/>&gt;# Failed test at blib/lib/Devel/Cover/Test.pm line 299.<br/>&gt;# got: &#39;82 *** 50 11 0 if exists &amp;cond_dor<br/>&gt;# &#39;<br/>&gt;# expected: &#39;82 *** 50 11 0 if exists &amp;main::cond_dor<br/>&gt;# &#39;<br/>&gt;# Looks like you failed 1 test of 283.<br/>&gt;t/e2e/acond_or.t ............ <br/>&gt;Dubious, test returned 1 (wstat 256, 0x100)<br/>&gt;Failed 1/283 subtests <br/><br/>This looks like a change in deparsing, presumably caused by my commit<br/>dd6661605fe0a54c602f2e55f875acfdcd330b79. Apparently that case wasn&#39;t<br/>covered by B::Deparse&#39;s regression tests.<br/><br/>-zefram<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247400.html Fri, 17 Nov 2017 05:41:24 +0000 Re: [perl #119635] deprecate and remove qsort? by Zefram Done in commit e2091bb6ea87111c32936c9170405a44995be338.<br/><br/>-zefram<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247399.html Fri, 17 Nov 2017 05:37:10 +0000 Re: [perl.git] branch blead updated. v5.27.5-404-gcfd95a3749 by Karl Williamson On 11/16/2017 09:41 PM, Craig A. Berry wrote: <br/>&gt; On 11/16/17 11:55 AM, Karl Williamson wrote: <br/>&gt;&gt; In perl.git, the branch blead has been updated <br/>&gt;&gt; <br/>&gt;&gt; &lt;https://perl5.git.perl.org/perl.git/commitdiff/cfd95a374972942cba5e8afc019dc6019815b45c?hp=60fae40da1a47d38fee85f0fc86e27f52c184f88&gt; <br/>&gt;&gt; <br/>&gt;&gt; <br/>&gt;&gt; - Log ----------------------------------------------------------------- <br/>&gt;&gt; commit cfd95a374972942cba5e8afc019dc6019815b45c <br/>&gt;&gt; Author: Karl Williamson &lt;khw@cpan.org&gt; <br/>&gt;&gt; Date:&nbsp;&nbsp; Tue Nov 14 21:41:25 2017 -0700 <br/>&gt;&gt; <br/>&gt;&gt; &nbsp;&nbsp;&nbsp;&nbsp; Remove UTF16 functions from public access <br/>&gt; <br/>&gt; This breaks linking the XS::APITest extension on VMS and will probably <br/>&gt; do the same on AIX or anything else with a strict linker. The docs in <br/>&gt; embed.fnc say: <br/>&gt; <br/>&gt; :&nbsp;&nbsp; E&nbsp; Visible to extensions included in the Perl core: <br/>&gt; : <br/>&gt; :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in embed.h, change &quot;#ifdef PERL_CORE&quot; <br/>&gt; :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; into&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;#if defined(PERL_CORE) || defined(PERL_EXT)&quot; <br/>&gt; : <br/>&gt; :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; To be usable from dynamically loaded extensions, either: <br/>&gt; :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1) must be static to its containing file (&quot;i&quot; or &quot;s&quot; flag); or <br/>&gt; :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2) be combined with the &quot;X&quot; flag. <br/>&gt; <br/>&gt; Neither 1 nor 2 was done in this case. A wild guess would be that X is <br/>&gt; required or that XS::APITest, whose name implies that it has something <br/>&gt; to do with testing the API, might need changes to track removals from <br/>&gt; the API. <br/>&gt; <br/> <br/>X is added in 73d689df0b635676359707f9eaa2ce012ada9fd7 <br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247398.html Fri, 17 Nov 2017 05:33:15 +0000 Re: [perl.git] branch blead updated. v5.27.5-378-g97c8f3e6ed by Karl Williamson On 11/16/2017 08:39 PM, Zefram wrote:<br/>&gt; Steve Hay via perl5-porters wrote:<br/>&gt;&gt; Some of the new tests here are failing on Windows. Do these just need<br/>&gt;&gt; skipping, or are they expected to work?<br/>&gt; <br/>&gt; They ought to pass. Windows doesn&#39;t have the flag bit that -k tests for,<br/>&gt; but it&#39;s still implementing that operator, presenting a worldview in which<br/>&gt; the sticky bit is a meaningful concept but just isn&#39;t set on any file.<br/>&gt; To provide that worldview consistently, obviously the operator needs to<br/>&gt; return false for any file, but it still needs to error when the argument<br/>&gt; doesn&#39;t refer to a file. All these test failures consist of the operator<br/>&gt; yielding a non-error false value for arguments that don&#39;t refer to files.<br/>&gt; <br/>&gt; Should be fixed by commit a6c31837e629c46be2f7496149b36a4b79f93484.<br/>&gt; (I can&#39;t test it on Windows.) Amusingly, the code change consists purely<br/>&gt; of deleting a stanza of code, a nugget of purest bug.<br/>&gt; <br/>&gt; -zefram<br/>&gt; <br/><br/>Actually, you can test it on windows, using the vm from dromedary<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247397.html Fri, 17 Nov 2017 05:21:23 +0000 Re: [perl.git] branch blead updated. v5.27.5-404-gcfd95a3749 by Craig A. Berry On 11/16/17 11:55 AM, Karl Williamson wrote:<br/>&gt; In perl.git, the branch blead has been updated<br/>&gt; <br/>&gt; &lt;https://perl5.git.perl.org/perl.git/commitdiff/cfd95a374972942cba5e8afc019dc6019815b45c?hp=60fae40da1a47d38fee85f0fc86e27f52c184f88&gt;<br/>&gt; <br/>&gt; - Log -----------------------------------------------------------------<br/>&gt; commit cfd95a374972942cba5e8afc019dc6019815b45c<br/>&gt; Author: Karl Williamson &lt;khw@cpan.org&gt;<br/>&gt; Date: Tue Nov 14 21:41:25 2017 -0700<br/>&gt; <br/>&gt; Remove UTF16 functions from public access<br/><br/>This breaks linking the XS::APITest extension on VMS and will probably<br/>do the same on AIX or anything else with a strict linker. The docs in<br/>embed.fnc say:<br/><br/>: E Visible to extensions included in the Perl core:<br/>:<br/>: in embed.h, change &quot;#ifdef PERL_CORE&quot;<br/>: into &quot;#if defined(PERL_CORE) || defined(PERL_EXT)&quot;<br/>:<br/>: To be usable from dynamically loaded extensions, either:<br/>: 1) must be static to its containing file (&quot;i&quot; or &quot;s&quot; flag); or<br/>: 2) be combined with the &quot;X&quot; flag.<br/><br/>Neither 1 nor 2 was done in this case. A wild guess would be that X is<br/>required or that XS::APITest, whose name implies that it has something<br/>to do with testing the API, might need changes to track removals from<br/>the API.<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247396.html Fri, 17 Nov 2017 04:41:29 +0000 [perl #132252] Blead Breaks CPAN: Role::Tiny, Variable::Magic, Moo by Father Chrysostomos via RT On Wed, 15 Nov 2017 13:11:34 -0800, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:<br/>&gt; &gt;&gt;&gt;&gt;&gt; On Tue, 14 Nov 2017 10:31:11 -0800, Ryan Voots<br/>&gt; &gt;&gt;&gt;&gt;&gt; &lt;simcop2387@simcop2387.info&gt; said:<br/>&gt; <br/>&gt; &gt; Just wanted to make a note that this does break the currently<br/>&gt; &gt; available version of Moo on CPAN still. Since a patch for it exists I<br/>&gt; &gt; hope it can be released soon to address the change.<br/>&gt; <br/>&gt; Just a quick scan for some also affected distros:<br/>&gt; <br/>&gt; ALEXMV/Symbol-Global-Name-0.05.tar.gz<br/>&gt; BBC/Log-Trace-1.070.tar.gz<br/>&gt; BELDEN/Functional-Utility-1.02.tar.gz<br/>&gt; CHROMATIC/Devel-TraceMethods-1.00.tar.gz<br/>&gt; DAGOLDEN/Test-API-0.008.tar.gz<br/>&gt; DROLSKY/Test-Vars-0.014.tar.gz<br/>&gt; IBB/Class-Declare-Attributes-0.12.tar.gz<br/>&gt; INGY/Class-Spiffy-0.15.tar.gz<br/>&gt; JWILLIAMS/Class-Classless-C3-1.00.tar.gz<br/>&gt; NWELLNHOF/Clownfish-0.6.1.tar.gz<br/>&gt; RANDIR/namespace-clean-xs-0.07.tar.gz<br/>&gt; XAOC/Glib-1.326.tar.gz<br/><br/>I have submitted patches for Log::Trace and Test::API.<br/><br/>&gt; This is really just a tiny fraction of my usually tested sample<br/>&gt; because<br/>&gt; I cannot test a lot due missing Moo.<br/><br/>If you install Moo from the GitHub repository, you can test other modules. (That is what I have been doing for the past couple of weeks now, but I am testing them manually one by one, so it is slow.)<br/><br/>-- <br/><br/>Father Chrysostomos<br/><br/><br/>---<br/>via perlbug: queue: perl5 status: open<br/>https://rt.perl.org/Ticket/Display.html?id=132252<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247395.html Fri, 17 Nov 2017 04:28:11 +0000 Fwd: Re: BBC: DBM::Deep by James E Keenan As originally reported by Carlos Guevara.<br/>Damage appears very recent, somewhere between <br/>a9fdb5b7996c84e762ac02fcb9949dadc31c1bdc and <br/>a6c31837e629c46be2f7496149b36a4b79f93484, both Thu Nov 16.<br/><br/><br/>-------- Forwarded Message --------<br/>Subject: Re: BBC: DBM::Deep<br/>Date: Thu, 16 Nov 2017 21:39:20 -0600<br/>From: Carlos Guevara &lt;carlos@carlosguevara.com&gt;<br/>To: James E Keenan &lt;jkeenan@pobox.com&gt;<br/><br/><br/><br/>On Thu, Nov 16, 2017 at 8:54 PM, James E Keenan &lt;jkeenan@pobox.com <br/>&lt;mailto:jkeenan@pobox.com&gt;&gt; wrote:<br/><br/> On 11/15/2017 07:03 PM, Carlos Guevara wrote:<br/><br/> Jim,<br/><br/> It looks like blead broke DBM::Deep.<br/><br/> Regards,<br/> Carlos Guevara<br/><br/><br/> I can&#39;t confirm.<br/><br/> #####<br/> [blead] 610 $ ./bin/perl -v | head -2 | tail -1<br/> This is perl 5, version 27, subversion 6 (v5.27.6<br/> (v5.27.5-382-g2358aaf)) built for x86_64-linux<br/> [blead] 611 $ ./bin/perl -Ilib -MDBM::Deep -E &#39;say <br/>$DBM::Deep::VERSION;&#39;<br/> 2.0014<br/> #####<br/><br/> Please supply ./perl -V output and test output.<br/><br/> Thank you very much.<br/> Jim Keenan<br/><br/><br/>Please see attached.<br/><br/>Regards,<br/>Carlos Guevara<br/><br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247394.html Fri, 17 Nov 2017 04:24:24 +0000 Fwd: Re: BBC: Devel::Cover by James E Keenan As originally reported by Carlos Guevara. <br/> <br/>Damage appears very recent, somewhere between <br/>a9fdb5b7996c84e762ac02fcb9949dadc31c1bdc and <br/>a6c31837e629c46be2f7496149b36a4b79f93484, both Thu Nov 16. <br/> <br/>jimk <br/> <br/> <br/>-------- Forwarded Message -------- <br/>Subject: Re: BBC: DBM::Deep <br/>Date: Thu, 16 Nov 2017 21:40:21 -0600 <br/>From: Carlos Guevara &lt;carlos@carlosguevara.com&gt; <br/>To: James E Keenan &lt;jkeenan@pobox.com&gt; <br/> <br/> <br/> <br/>On Thu, Nov 16, 2017 at 8:56 PM, James E Keenan &lt;jkeenan@pobox.com <br/>&lt;mailto:jkeenan@pobox.com&gt;&gt; wrote: <br/> <br/> On 11/15/2017 07:03 PM, Carlos Guevara wrote: <br/> <br/> Jim, <br/> <br/> It looks like blead broke DBM::Deep. <br/> <br/> Regards, <br/> Carlos Guevara <br/> <br/> <br/> I can&#39;t confirm. <br/> <br/> ##### <br/> $ ./bin/perl -v | head -2 | tail -1 <br/> This is perl 5, version 27, subversion 6 (v5.27.6 <br/> (v5.27.5-382-g2358aaf)) built for x86_64-linux <br/> [blead] 613 $ ./bin/perl -Ilib -MDevel::Cover -E &#39;say q|hello <br/> world|;&#39; | tail -1 <br/> Devel::Cover: Can&#39;t find file &quot;-e&quot; (-e): ignored. <br/> <br/> [blead] 614 $ ./bin/perl -Ilib -MDevel::Cover -E &#39;say q|hello world|;&#39; <br/> Devel::Cover: Can&#39;t find file &quot;-e&quot; (-e): ignored. <br/> Devel::Cover 1.29: Collecting coverage data for branch, condition, <br/> statement, subroutine and time. <br/> &nbsp; &nbsp; Pod coverage is unavailable.&nbsp; Please install Pod::Coverage from <br/> CPAN. <br/> Selecting packages matching: <br/> Ignoring packages matching: <br/> &nbsp; &nbsp; /Devel/Cover[./] <br/> Ignoring packages in: <br/> hello world <br/> ... <br/> ##### <br/> <br/> (This is how Devel::Cover starts up.&nbsp; Nothing unusual here.) <br/> <br/> Please supply output of ./perl -V and test output. <br/> <br/> Thanks. <br/> jimk <br/> <br/> <br/>Please see attached. <br/> <br/>Regards, <br/>Carlos Guevara <br/> <br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247393.html Fri, 17 Nov 2017 04:22:51 +0000 Re: new warning in ext/XS-APItest/t/sviscow.t by Zefram Father Chrysostomos wrote:<br/>&gt;That warning makes no sense to me. Nowhere is it explained why locking<br/>&gt;a hash value is not useful.<br/><br/>Perhaps some thought along the lines that the ability to delete the<br/>entry and replace it means that the locking can be effectively defeated.<br/>I don&#39;t think it&#39;s accurate to describe it as useless, but one does<br/>have to have a clear understanding of what exactly is being locked.<br/>The warning has been in there from the earliest version of Hash::Util.<br/><br/>sviscow.t clearly doesn&#39;t care about what this is warning about, so<br/>should just turn off that warning category. I implemented this, but<br/>you ninjaed me to pushing the same thing to blead.<br/><br/>-zefram<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247392.html Fri, 17 Nov 2017 04:17:06 +0000 $EXPORT_ALL now warns by Father Chrysostomos $EXPORT_ALL now warns<br/><br/>Yves Orton made this commit about a year ago:<br/>&gt; commit eafd371ce091bf61fe1673448eee5e53c4b0ef32<br/>&gt; Author: Yves Orton &lt;demerphq@gmail.com&gt;<br/>&gt; Date: Wed Oct 19 11:09:00 2016 +0200<br/>&gt; <br/>&gt; gv.c: rework special var matching logic to be simpler<br/>&gt; <br/>&gt; The old code used a bunch of tricks that IMO are unlikely<br/>&gt; to actually make any performance difference, and make<br/>&gt; the code harder to read, search, and understand, and less<br/>&gt; amenable to using string constant friendly macros.<br/>&gt; <br/>&gt; So for instance instead of switching on the first char<br/>&gt; and then comparing the second on for an exact match<br/>&gt; instead just compare the full string. The extra char<br/>&gt; is unlikely to make a difference to the underlying code<br/>&gt; that gets called, and the end result is easier searching.<br/>&gt; <br/>&gt; Another issue is that some of the code was inadverdantly<br/>&gt; doing prefix matches, and not exact matchs for certain<br/>&gt; magic var names. This is fixed as part of these changes.<br/><br/>I would argu that the EXPORT check was not inadvertently a prefix<br/>check. And when somebody proposed changing it in another thread a<br/>few years back, I cited various CPAN modules that showed that people<br/>were relying on it.<br/><br/>This commit changed the behaviour, such that @EXPORT does not warn,<br/>but EXPORT_ANY (used on CPAN) does warn. (See rt.cpan.org #123633.)<br/>If I had known about this change in behaviour at the time, I would<br/>have spoken up.<br/><br/>In any case, I recommend we revert to the previous behaviour of<br/>exempting anything beginning with EXPORT from &#39;used once&#39; warn-<br/>ings. And the change should be backported to 5.26.x, since it is a<br/>regression.<br/><br/>Also, if someone is committing a change that changes observable behav-<br/>iour, please make the first line of the commit message say so. This:<br/><br/>&gt; gv.c: rework special var matching logic to be simpler<br/><br/>does not sound like a commit worth looking at. It sounds like a pure<br/>refactoring. This:<br/><br/>&gt; gv.c: Stop doing prefix matching on special vars<br/><br/>would at least have prompted me to take a closer look.<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247391.html Fri, 17 Nov 2017 04:10:42 +0000 Re: new warning in ext/XS-APItest/t/sviscow.t by Zefram Dave Mitchell wrote:<br/>&gt;I&#39;m provisionally assuming that Zefram&#39;s fix has merely unmasked an<br/>&gt;existing issue,<br/><br/>Haha, so it has. The warning is in the non-core &quot;Hash::Util&quot; category,<br/>and the condition for the warning to arise was always happening.<br/>The test script&#39;s pragmata request to see warnings in this category:<br/><br/> use warnings; no warnings &#39;once&#39;;<br/><br/>but it runs into precisely the bug of which FC had complained and<br/>that I was fixing. Specifically, because these pragmata come before<br/>the loading of the Hash::Util module, &quot;use warnings&quot; gave a warning<br/>bitset that contains all and only the core warnings, then &quot;no warnings<br/>&#39;once&#39;&quot; cleared the bit for the &quot;once&quot; category and ensured that the<br/>scope had an explicit bitset. So when the warning arose, the bit for<br/>the &quot;Hash::Util&quot; category was erroneously clear, muffling the warning.<br/>Now that&#39;s fixed and the warning is emitted as requested.<br/><br/>-zefram<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247390.html Fri, 17 Nov 2017 03:50:41 +0000 Re: [perl.git] branch blead updated. v5.27.5-378-g97c8f3e6ed by Zefram Steve Hay via perl5-porters wrote:<br/>&gt;Some of the new tests here are failing on Windows. Do these just need<br/>&gt;skipping, or are they expected to work?<br/><br/>They ought to pass. Windows doesn&#39;t have the flag bit that -k tests for,<br/>but it&#39;s still implementing that operator, presenting a worldview in which<br/>the sticky bit is a meaningful concept but just isn&#39;t set on any file.<br/>To provide that worldview consistently, obviously the operator needs to<br/>return false for any file, but it still needs to error when the argument<br/>doesn&#39;t refer to a file. All these test failures consist of the operator<br/>yielding a non-error false value for arguments that don&#39;t refer to files.<br/><br/>Should be fixed by commit a6c31837e629c46be2f7496149b36a4b79f93484.<br/>(I can&#39;t test it on Windows.) Amusingly, the code change consists purely<br/>of deleting a stanza of code, a nugget of purest bug.<br/><br/>-zefram<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247389.html Fri, 17 Nov 2017 03:39:25 +0000 Re: [perl #132443] Cygwin::win_to_posix_path() fails, possiblememory corruption by Karl Williamson On 11/16/2017 09:23 AM, Lando Nachtmann via perl5-porters wrote:<br/>&gt; &quot;Zefram via RT&quot; wrote:<br/>&gt;&gt; But neither of those modules is maintained as part of the<br/>&gt;&gt; Perl core, so this is the wrong place to report a problem. You should<br/>&gt;&gt; report the problem to the bugtracker of whichever module is faulty,<br/>&gt;&gt; and without referring to the other module.<br/>&gt; <br/>&gt; Ok, thank you, I will do that.<br/>&gt; If you do not consider the Cygwin helper methods to be &#39;Core&#39; despite being in the Perl sources, I suggest you should state so somewhere. E.g. in the respective Perl documentation (https://perldoc.perl.org/perlcygwin.html) or at least in the Perl source code itself (cygwin/cygwin.c).<br/>&gt; <br/><br/>The cygwin/cygwin.c file is Core.<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247388.html Fri, 17 Nov 2017 02:46:16 +0000 Re: Interesting new AIX fails by Karl Williamson On 11/16/2017 12:10 AM, H.Merijn Brand wrote:<br/>&gt; -DDEBUGGING is borked on AIX:<br/>&gt; https://smoke.procura.nl/aix5300/511/gcc/mktest.rpt<br/>&gt; <br/>&gt; v5.27.5-330-g7074755449 Configuration (common) none<br/>&gt; ----------- ---------------------------------------------------------<br/>&gt; F F F M - -<br/>&gt; F F F M - - -Duse64bitint<br/>&gt; F F F M - - -Duse64bitall<br/>&gt; F F F M - - -Duseithreads<br/>&gt; F F F M - - -Duseithreads -Duse64bitint<br/>&gt; F F F M - - -Duseithreads -Duse64bitall<br/>&gt; | | | | | +- LC_ALL = EN_US.UTF-8 -DDEBUGGING<br/>&gt; | | | | +--- PERLIO = perlio -DDEBUGGING<br/>&gt; | | | +----- PERLIO = stdio -DDEBUGGING<br/>&gt; | | +------- LC_ALL = EN_US.UTF-8<br/>&gt; | +--------- PERLIO = perlio<br/>&gt; +----------- PERLIO = stdio<br/>&gt; <br/>&gt; On the positive side, red is slowly turning green on<br/>&gt; https://smoke.procura.nl/<br/>&gt; <br/><br/><br/>On today&#39;s blead, commit 60fae40da1a47d38fee85f0fc86e27f52c184f88<br/>AIX works with xlc and these options:<br/><br/>/bin/sh ./Configure -des -Uversiononly -Dprefix=/perl/usr/khw/devel <br/>-Dusedevel -A&#39;optimize=-g3&#39; -A&#39;optimize=-O0&#39; <br/>-Accflags=&#39;-DPERL_EXTERNAL_GLOB&#39; -Accflags=&#39;-DNO_MATHOMS&#39; -Dm<br/>an1dir=none -Dman3dir=none -Dcc=xlc -DDEBUGGING -Dusemorebits <br/>-Dusecbacktrace -Dusethreads<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247387.html Fri, 17 Nov 2017 02:44:40 +0000 Re: [perl #132449] -l treats globref as filename by Bo Lindbergh Quoth Zefram:<br/>&gt; because a file handle can&#39;t be opened on a symlink per se<br/><br/>False. Darwin has the O_SYMLINK mode which lets you do exactly that.<br/>The resulting file descriptor can&#39;t be used for i/o, but it can be passed<br/>to fstat, fchmod, fchown, etc.<br/><br/>{<br/> use Fcntl<br/> qw(S_ISLNK);<br/><br/> my $fn = &quot;/etc/localtime&quot;;<br/> sysopen(my $fh, $fn, 0x200000)<br/> or die &quot;open: $!\n&quot;;<br/> my @fstat = stat($fh)<br/> or die &quot;fstat: $!\n&quot;;<br/> close($fh);<br/> print $fn, &quot; is &quot;, S_ISLNK($fstat[2]) ? &quot;&quot; : &quot;not &quot;, &quot;a symlink\n&quot;;<br/>}<br/><br/><br/>/Bo Lindbergh<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247386.html Fri, 17 Nov 2017 01:23:35 +0000 Re: [perl #132443] Cygwin::win_to_posix_path() fails, possiblememory corruption by "Lando Nachtmann" via perl5-porters &quot;Zefram via RT&quot; wrote: <br/>&gt; But neither of those modules is maintained as part of the <br/>&gt; Perl core, so this is the wrong place to report a problem. You should <br/>&gt; report the problem to the bugtracker of whichever module is faulty, <br/>&gt; and without referring to the other module. <br/> <br/>Ok, thank you, I will do that. <br/>If you do not consider the Cygwin helper methods to be &#39;Core&#39; despite being in the Perl sources, I suggest you should state so somewhere. E.g. in the respective Perl documentation (https://perldoc.perl.org/perlcygwin.html) or at least in the Perl source code itself (cygwin/cygwin.c). <br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247385.html Thu, 16 Nov 2017 23:33:58 +0000 [perl #132459] Problem with DB::db_complete: Can't use string ("::")as a HASH ref while "strict refs" in use by Ulrich Windl # New Ticket Created by &quot;Ulrich Windl&quot; <br/># Please include the string: [perl #132459]<br/># in the subject line of all future correspondence about this issue. <br/># &lt;URL: https://rt.perl.org/Ticket/Display.html?id=132459 &gt;<br/><br/><br/>This is a bug report for perl from Ulrich.Windl@rz.uni-regensburg.de,<br/>generated with the help of perlbug 1.39 running under perl 5.18.2.<br/><br/><br/>-----------------------------------------------------------------<br/>[Please describe your issue here]<br/>When using Perl with &quot;use warnings&quot; and &quot;use strict&quot;, a TAB-completion<br/>for array variable @loop_indices in the debugger fails with the following<br/>message when used for the first time:<br/><br/> DB&lt;3&gt; x @looCan&#39;t use string (&quot;::&quot;) as a HASH ref while &quot;strict refs&quot; in =<br/>use at /usr/lib/perl5/5.18.2/perl5db.pl line 9519.<br/> at /usr/lib/perl5/5.18.2/perl5db.pl line 9519.<br/> DB::db_complete(&#39;@loo&#39;, &#39;x @loo&#39;, 2) called at /usr/lib/perl5/vendor_pe=<br/>rl/5.18.2/x86_64-linux-thread-multi/Term/ReadLine/Gnu/XS.pm line 574<br/> Term::ReadLine::Gnu::XS::_trp_completion_function(&#39;@loo&#39;, 0) called at =<br/>/usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Term/ReadLine/G=<br/>nu.pm line 719<br/> Term::ReadLine::Gnu::AU::__ANON__[/usr/lib/perl5/vendor_perl/5.18.2/x86=<br/>_64-linux-thread-multi/Term/ReadLine/Gnu.pm:719](&#39;Term::ReadLine=3DHASH(0x2=<br/>273828)&#39;, &#39;\x{1}\x{1b}[4m\x{2} DB&lt;3&gt; \x{1}\x{1b}[24m\x{2}&#39;) called at =<br/>/usr/lib/perl5/vendor_perl/5.18.2/x86_64-linux-thread-multi/Term/ReadLine/G=<br/>nu.pm line 331<br/> Term::ReadLine::Gnu::readline(&#39;Term::ReadLine=3DHASH(0x2273828)&#39;, &#39; =<br/>DB&lt;3&gt; &#39;) called at /usr/lib/perl5/5.18.2/perl5db.pl line 7287<br/> DB::readline(&#39; DB&lt;3&gt; &#39;) called at /usr/lib/perl5/5.18.2/perl5db.pl =<br/>line 1832<br/> DB::_DB__read_next_cmd(undef) called at /usr/lib/perl5/5.18.2/perl5db.p=<br/>l line 2747<br/> DB::DB called at -e line 1<br/>Debugged program terminated. Use q to quit or R to restart,<br/>use o inhibit_exit to avoid stopping after program termination,<br/>h q, h R or h o to get additional info.<br/><br/>When tried a second time, Perl quits, leaving the tty in raw state (need a<br/>&quot;stty sane&quot;):<br/><br/> DB&lt;3&gt; x @looCan&#39;t use string (&quot;::&quot;) as a HASH ref while &quot;strict refs&quot; in =<br/>use at /usr/lib/perl5/5.18.2/perl5db.pl line 9519.<br/>END failed--call queue aborted at -e line 4209.<br/> at -e line 4209.<br/><br/>Cited line of perl5db.pl reads:<br/> push @out, map &quot;$prefix$_&quot;, grep /^\Q$text/,<br/> ( grep /^_?[a-zA-Z]/, keys %$pack ),<br/> ( $pack eq &#39;::&#39; ? () : ( grep /::$/, keys %:: ) );<br/><br/>Finally, for the nerds, there is a compressed uuencoded typescript of a<br/>sample session:<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247384.html Thu, 16 Nov 2017 22:05:48 +0000 [perl #130447] Win32: Define __USE_MINGW_ANSI_STDIO for all gccbuilds by Father Chrysostomos via RT On Thu, 16 Nov 2017 04:29:02 -0800, sisyphus wrote:<br/>&gt; Am *I* supposed to be able to close this ticket ? I logged in to<br/>&gt; https://rt.perl.org/Ticket/Display.html?id=130447 using my bitcard<br/>&gt; account,<br/>&gt; but I couldn&#39;t spot any option that would enable me to close it.<br/><br/>&acirc;&#128;&#153;Fraid it&acirc;&#128;&#153;s admins only.<br/><br/>-- <br/><br/>Father Chrysostomos<br/><br/><br/>---<br/>via perlbug: queue: perl5 status: pending release<br/>https://rt.perl.org/Ticket/Display.html?id=130447<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247383.html Thu, 16 Nov 2017 21:05:28 +0000 [perl #105908] Get-magic is ignored on retval of @INC hook by Father Chrysostomos via RT On Wed, 15 Nov 2017 12:56:42 -0800, sprout wrote:<br/>&gt; On Sat, 04 Nov 2017 16:05:46 -0700, zefram fysh.org wrote:<br/>&gt; &gt; This apparently got fixed in 5.19.4, and now the test case passes:<br/>&gt; &gt; <br/>&gt; &gt; $ perl5.27.5 -lwe &#39;sub TIESCALAR { my $z = $_[1]; bless \$z } sub<br/>&gt; &gt; FETCH { warn &quot;fetched&quot;; ${$_[0]} } unshift @INC, sub { tie my $x,<br/>&gt; &gt; &quot;main&quot;, &quot;123&quot;; \$x }; require foo&#39;<br/>&gt; &gt; fetched at -e line 1.<br/>&gt; &gt; <br/>&gt; &gt; This ticket can be closed.<br/>&gt; &gt; <br/>&gt; &gt; -zefram<br/>&gt; <br/>&gt; For the record, it seems I fixed it:<br/>&gt; <br/>&gt; commit 536ac391fe10ec8bed2037ca93dd5044c83eac16<br/>&gt; Author: Father Chrysostomos &lt;sprout@cpan.org&gt;<br/>&gt; Date: Fri Aug 9 08:42:32 2013 -0700<br/>&gt; <br/>&gt; Tying $_ in @INC filter<br/><br/>Sorry, wrong commit but same branch. This is it:<br/><br/>commit 2e8409ad08dc8f8f81c8bdba02f7423a301ff4e0<br/>Author: Father Chrysostomos &lt;sprout@cpan.org&gt;<br/>Date: Fri Aug 9 13:32:30 2013 -0700<br/><br/> Handle magical return values from @INC filter<br/> <br/> An @INC filter (a subroutined returned by a subroutine in @INC) could<br/> be an lvalue sub that returns a magical scalar for the status. We<br/> need to account for that.<br/> <br/> If we don&acirc;&#128;&#153;t call get-magic (FETCH), we&acirc;&#128;&#153;ll get the last value assigned<br/> to or returned from that scalar.<br/><br/>-- <br/><br/>Father Chrysostomos<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247382.html Thu, 16 Nov 2017 20:33:53 +0000 Re: bring out yer perldeltas! by Father Chrysostomos Sawyer X wrote:<br/>&gt; * If you wrote a patch, please document your change in perldelta if it&#39;s<br/>&gt; necessary.<br/><br/>I believe I have done so for all my significant commits.<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247381.html Thu, 16 Nov 2017 20:31:53 +0000 [perl #132457] Time::HiRes t/alarm.t has a flapping test by Nicolas R . # New Ticket Created by Nicolas R. <br/># Please include the string: [perl #132457]<br/># in the subject line of all future correspondence about this issue. <br/># &lt;URL: https://rt.perl.org/Ticket/Display.html?id=132457 &gt;<br/><br/><br/>This needs investigation, unfortunately, I do not have more details than this at this time.<br/>I hope to be able to track it pretty soon.<br/><br/>This is coming from a Travis CI run: https://travis-ci.org/p5h/perl5demo/jobs/302868505<br/><br/>HEAD is blead + a minor commit which does not seem related to it, and the test is passing on other macosx builds, view https://travis-ci.org/p5h/perl5demo/builds/302868502<br/><br/>I assume that the server was running with a high load, and everything was slow down...<br/><br/>HEAD was here https://github.com/p5h/perl5demo/commit/c4a18419443322ee737a9f018d43a4469dc8fa3f<br/>which is blead=4af7d876a8f36e9eda38116fb0b3d5e3fde025f8 + e1f53cba21c7687c50d535433ea1afc8b78259dd<br/><br/>I suggest to identify the test and skip it when ENV{CI} is set, same as done in cd2a978d2293dbb03a031e76b83063ff03d6a04b ( view PACKAGING for CI option ).<br/><br/>Relevant output from the travis CI log.<br/><br/>____________________________________<br/># Looks like you failed 1 test of 10.<br/>../dist/Time-HiRes/t/alarm.t ....................................... <br/>Dubious, test returned 1 (wstat 256, 0x100)<br/><br/>Test Summary Report<br/>-------------------<br/>../dist/Time-HiRes/t/alarm.t (Wstat: 256 Tests: 10 Failed: 1)<br/> Failed test: 2<br/> Non-zero exit status: 1<br/>Files=2627, Tests=1143283, 590 wallclock secs (135.12 usr 16.35 sys + 696.97 cusr 123.73 csys = 972.17 CPU)<br/>Result: FAIL<br/>make: *** [test_harness_notty] Error 1<br/><br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247380.html Thu, 16 Nov 2017 20:14:42 +0000 Re: [perl #132443] Cygwin::win_to_posix_path() fails, possiblememory corruption by Achim Gratz Lando Nachtmann writes:<br/>&gt; The Perl-integrated conversion function for Cygwin paths<br/>&gt; Cygwin::win_to_posix_path() is broken.<br/><br/>I&#39;d say it behaves exactly as documented, though not as you expected.<br/>Its documentation says it won&#39;t convert &quot;double byte characters&quot; (due to<br/>the Win32 interface it uses behind the scenes) and XML::DOM seems to<br/>feed it UTF-8, which Perl dutifully hands in as argument. Your example<br/>works if you downgrade the string before feeding it to the conversion<br/>function since it doesn&#39;t use any code point above 255. That conversion<br/>routine goes back several years and Cygwin versiosn and should probably<br/>be upgraded to use newer interfaces that can properly deal with UTF in<br/>path names plus it also seems to need an overhaul in recognizing what<br/>kind of string it gets fed and warn as needed instead of producing<br/>random errors or no result.<br/><br/><br/>Regards,<br/>Achim.<br/>-- <br/>+&lt;[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]&gt;+<br/><br/>Factory and User Sound Singles for Waldorf Blofeld:<br/>http://Synth.Stromeko.net/Downloads.html#WaldorfSounds<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247379.html Thu, 16 Nov 2017 19:22:20 +0000 word-at-a-time searching for UTF-8 invariants by Karl Williamson I have pushed a branch for review at<br/><br/>https://perl5.git.perl.org/perl.git/shortlog/refs/heads/smoke-me/khw-invariant<br/><br/>which changes is_utf8_invariant_string_loc() (and hence <br/>is_utf8_invariant_string(), which is defined as a special case of the <br/>former) to use word-at-a-time (instead of per-byte) parsing through the <br/>input string.<br/><br/>This is commonly used functionality for parsing strings to decide if <br/>they are UTF-8 and need to have the UTF-8 flag on.<br/><br/>On a 64-bit system, it yields the following data from Porting/bench.pl<br/><br/> byte word<br/> ------ ------<br/> Ir 100.00 665.35<br/> Dr 100.00 797.03<br/> Dw 100.00 102.12<br/> COND 100.00 799.27<br/> IND 100.00 97.56<br/><br/>COND_m 100.00 144.83<br/> IND_m 100.00 75.00<br/><br/> Ir_m1 100.00 100.00<br/> Dr_m1 100.00 100.02<br/> Dw_m1 100.00 104.12<br/><br/> Ir_mm 100.00 100.00<br/> Dr_mm 100.00 100.00<br/> Dw_mm 100.00 100.00<br/><br/><br/>This means, for example, that the COND measurement is 800% faster.<br/><br/>On a 32-bit system, the gains would be roughly half this.<br/><br/>I intend to push this to blead in a week, depending on the comments <br/>received. It may be that some code that checks for invariants locally <br/>should change to use this inline function for the speed up.<br/><br/>For example, bytes_to_utf8() might want to call this first to quickly <br/>dispose of any invariant head of the converted string.<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247378.html Thu, 16 Nov 2017 19:03:50 +0000 Re: [perl.git] branch blead updated. v5.27.5-378-g97c8f3e6ed by Steve Hay via perl5-porters On 15 November 2017 at 08:14, Zefram &lt;zefram@fysh.org&gt; wrote:<br/>&gt; In perl.git, the branch blead has been updated<br/>&gt;<br/>&gt; &lt;https://perl5.git.perl.org/perl.git/commitdiff/97c8f3e6ed903d7d1ab2b973a137ff8412e94c87?hp=aa2bc4d385298947b20667efc390d3182feaebe1&gt;<br/>&gt;<br/>&gt; - Log -----------------------------------------------------------------<br/>&gt; commit 97c8f3e6ed903d7d1ab2b973a137ff8412e94c87<br/>&gt; Author: Zefram &lt;zefram@fysh.org&gt;<br/>&gt; Date: Wed Nov 15 08:11:37 2017 +0000<br/>&gt;<br/>&gt; set $! when statting a closed filehandle<br/>&gt;<br/>&gt; When a stat fails because it&#39;s on a closed or otherwise invalid<br/>&gt; filehandle, $! was often not being set, depending on the operation<br/>&gt; and the nature of the invalidity. Consistently set it to EBADF.<br/>&gt; Fixes [perl #108288].<br/>&gt;<br/>&gt; -----------------------------------------------------------------------<br/>&gt;<br/>&gt; Summary of changes:<br/>&gt; MANIFEST | 1 +<br/>&gt; doio.c | 10 +++++++++-<br/>&gt; pp_sys.c | 22 ++++++++++++---------<br/>&gt; t/op/stat_errors.t | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++<br/>&gt; 4 files changed, 80 insertions(+), 10 deletions(-)<br/>&gt; create mode 100644 t/op/stat_errors.t<br/>&gt;<br/><br/>Some of the new tests here are failing on Windows. Do these just need<br/>skipping, or are they expected to work?<br/><br/>C:\Dev\Git\perl\t&gt;.\perl harness op\stat_errors.t<br/>op/stat_errors.t .. 141/638 # Failed test 507 - result of -k NEVEROPENED at op/s<br/>tat_errors.t line 48<br/># got &quot;&quot;<br/># expected undef<br/># Failed test 508 - error from -k NEVEROPENED at op/stat_errors.t line 49<br/># got &quot;0&quot;<br/># expected &quot;9&quot;<br/># Failed test 509 - result of -k \*NEVEROPENED at op/stat_errors.t line 48<br/># got &quot;&quot;<br/># expected undef<br/># Failed test 510 - error from -k \*NEVEROPENED at op/stat_errors.t line 49<br/># got &quot;0&quot;<br/># expected &quot;9&quot;<br/># Failed test 511 - result of -k SCALARFILE at op/stat_errors.t line 48<br/># got &quot;&quot;<br/># expected undef<br/># Failed test 512 - error from -k SCALARFILE at op/stat_errors.t line 49<br/># got &quot;0&quot;<br/># expected &quot;9&quot;<br/># Failed test 513 - result of -k \*SCALARFILE at op/stat_errors.t line 48<br/># got &quot;&quot;<br/># expected undef<br/># Failed test 514 - error from -k \*SCALARFILE at op/stat_errors.t line 49<br/># got &quot;0&quot;<br/># expected &quot;9&quot;<br/># Failed test 515 - result of -k CLOSEDFILE at op/stat_errors.t line 48<br/># got &quot;&quot;<br/># expected undef<br/># Failed test 516 - error from -k CLOSEDFILE at op/stat_errors.t line 49<br/># got &quot;0&quot;<br/># expected &quot;9&quot;<br/># Failed test 517 - result of -k \*CLOSEDFILE at op/stat_errors.t line 48<br/># got &quot;&quot;<br/># expected undef<br/># Failed test 518 - error from -k \*CLOSEDFILE at op/stat_errors.t line 49<br/># got &quot;0&quot;<br/># expected &quot;9&quot;<br/># Failed test 519 - result of -k CLOSEDDIR at op/stat_errors.t line 48<br/># got &quot;&quot;<br/># expected undef<br/># Failed test 520 - error from -k CLOSEDDIR at op/stat_errors.t line 49<br/># got &quot;0&quot;<br/># expected &quot;9&quot;<br/># Failed test 521 - result of -k \*CLOSEDDIR at op/stat_errors.t line 48<br/># got &quot;&quot;<br/># expected undef<br/># Failed test 522 - error from -k \*CLOSEDDIR at op/stat_errors.t line 49<br/># got &quot;0&quot;<br/># expected &quot;9&quot;<br/># Failed test 523 - result of -k _ at op/stat_errors.t line 48<br/># got &quot;&quot;<br/># expected undef<br/># Failed test 524 - error from -k _ at op/stat_errors.t line 49<br/># got &quot;0&quot;<br/># expected &quot;9&quot;<br/># Failed test 525 - result of -k \*_ at op/stat_errors.t line 48<br/># got &quot;&quot;<br/># expected undef<br/># Failed test 526 - error from -k \*_ at op/stat_errors.t line 49<br/># got &quot;0&quot;<br/># expected &quot;9&quot;<br/># Failed test 527 - result of -k &quot;tmpnotexist&quot; at op/stat_errors.t line 48<br/># got &quot;&quot;<br/># expected undef<br/># Failed test 528 - error from -k &quot;tmpnotexist&quot; at op/stat_errors.t line 49<br/># got &quot;0&quot;<br/># expected &quot;2&quot;<br/>op/stat_errors.t .. Failed 22/638 subtests<br/> (less 12 skipped subtests: 604 okay)<br/><br/>Test Summary Report<br/>-------------------<br/>op/stat_errors.t (Wstat: 0 Tests: 638 Failed: 22)<br/> Failed tests: 507-528<br/>Files=1, Tests=638, 1 wallclock secs ( 0.06 usr + 0.00 sys = 0.06 CPU)<br/>Result: FAIL<br/> https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247377.html Thu, 16 Nov 2017 17:44:12 +0000