This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta: clarify what '.' and @INC is about
authorÆvar Arnfjörð Bjarmason <avar@cpan.org>
Tue, 16 May 2017 18:30:10 +0000 (18:30 +0000)
committerÆvar Arnfjörð Bjarmason <avar@cpan.org>
Wed, 17 May 2017 14:51:34 +0000 (14:51 +0000)
commit90ed3b64f9d043d7ca1192211783b7b575da5d55
tree8650cec92b779d3d93014c327c41964d3ac88717
parentd053832c03579dcc400e433bc6d23d5975989800
perldelta: clarify what '.' and @INC is about

The existing section we had here was totally misleading. I couldn't
understand "now provides a way to build" and "if you want it turn X
on" differently than meaning that '.' was still in @INC by default and
you had to compile perl with some optional switch to turn it on.

It turns out[1] that the exact opposite of that is the case. This is
on by default. Rewrite the entire section to make that clear to the
reader.

While I'm at it dumb it down a bit to be understandable to someone
who's just upgrading Perl. Not everyone knows what @INC is offhand,
but describing how we now load libraries is understandable to
everyone.

Then cover PERL_USE_UNSAFE_INC=1 and how it's set by various toolchain
modules now, and finally avoid talking about both
DEFAULT_INC_EXCLUDES_DOT and -Ddefault_inc_excludes_dot in the context
of a build option, just consistently mention only
-Ddefault_inc_excludes_dot.

We could go into much more detail here. See the "[RFC] We need prose
for perl526delta about "." in @INC removal" thread[2]. I think
including something like that probably makes sense later in the
document, but this should suffice for an intro section, and I'll let
others who proposed more detailed updates send their own patches for
further clarifying this feature.

1. "Re: Perl 5.26.0-RC1 is now
   available!" (<CAATnKFABh0PjQK0WLqC-MTugj==O22zjwRgDapfb1EHvLr0tKw@mail.gmail.com>"
2. <CAATnKFCSeGh6Lcwux1CsGP=6pQSQtG7_bViZRGji3Soa5b=1ow@mail.gmail.com>
   (http://www.nntp.perl.org/group/perl.perl5.porters/2017/03/msg243763.html)
pod/perldelta.pod