In perl.git, the branch smoke-me/jkeenan/harness-investigation has been updated
<http://perl5.git.perl.org/perl.git/commitdiff/212499e758146d9258c18b7ada72966dad4248cb?hp=443f195184423614b9f31791f3dbedfad080f542> - Log ----------------------------------------------------------------- commit 212499e758146d9258c18b7ada72966dad4248cb Merge: 4e414f7aea 443f195184 Author: James E Keenan <[email protected]> Date: Sat Feb 25 21:58:45 2017 -0500 Merge branch 'smoke-me/jkeenan/harness-investigation' of git://perl5.git.perl.org/perl into smoke-me/jkeenan/harness-investigation commit 4e414f7aead3803716327fe936a3c01ab24d4a66 Author: James E Keenan <[email protected]> Date: Sat Feb 25 21:57:08 2017 -0500 Trigger new SHA. M INSTALL commit d1bcd52bee58314193cba58badc5278fde9923f4 Author: James E Keenan <[email protected]> Date: Wed Feb 22 09:50:46 2017 -0500 Reposition ext/XS-APItest/t/*.t in t/TEST. Add debugging code to t/TEST and t/harness. M t/TEST M t/harness commit bbca2bb75e1c677d67fda64f4cdca8ee3ca6de3b Author: Karl Williamson <[email protected]> Date: Sat Feb 18 17:12:59 2017 -0700 Move API testing to earlier M t/TEST M t/harness ----------------------------------------------------------------------- Summary of changes: embed.fnc | 2 +- embed.h | 2 +- pod/perlfunc.pod | 28 +++++++++++++++++++--------- pod/perlvar.pod | 7 ++++--- 4 files changed, 25 insertions(+), 14 deletions(-) diff --git a/embed.fnc b/embed.fnc index 0a63f4756f..3a68a3538f 100644 --- a/embed.fnc +++ b/embed.fnc @@ -1709,7 +1709,7 @@ ApdD |UV |to_utf8_case |NN const U8 *p \ |NN SV **swashp \ |NN const char *normal| \ NULLOK const char *special -ApM |char * |_byte_dump_string \ +pM |char * |_byte_dump_string \ |NN const U8 * s \ |const STRLEN len \ |const bool format diff --git a/embed.h b/embed.h index 587444f0a1..5352f536f8 100644 --- a/embed.h +++ b/embed.h @@ -27,7 +27,6 @@ /* Hide global symbols */ #define Gv_AMupdate(a,b) Perl_Gv_AMupdate(aTHX_ a,b) -#define _byte_dump_string(a,b,c) Perl__byte_dump_string(aTHX_ a,b,c) #define _force_out_malformed_utf8_message(a,b,c,d) Perl__force_out_malformed_utf8_message(aTHX_ a,b,c,d) #define _is_in_locale_category(a,b) Perl__is_in_locale_category(aTHX_ a,b) #define _is_uni_FOO(a,b) Perl__is_uni_FOO(aTHX_ a,b) @@ -1163,6 +1162,7 @@ #ifdef PERL_CORE #define Slab_Alloc(a) Perl_Slab_Alloc(aTHX_ a) #define Slab_Free(a) Perl_Slab_Free(aTHX_ a) +#define _byte_dump_string(a,b,c) Perl__byte_dump_string(aTHX_ a,b,c) #define abort_execution(a,b) Perl_abort_execution(aTHX_ a,b) #define alloc_LOGOP(a,b,c) Perl_alloc_LOGOP(aTHX_ a,b,c) #define allocmy(a,b,c) Perl_allocmy(aTHX_ a,b,c) diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod index 10651b4f4f..88d30a55fd 100644 --- a/pod/perlfunc.pod +++ b/pod/perlfunc.pod @@ -1807,20 +1807,30 @@ X<do> Uses the value of EXPR as a filename and executes the contents of the file as a Perl script. - do 'stat.pl'; + do './stat.pl'; is largely like eval `cat stat.pl`; -except that it's more concise, runs no external processes, keeps track of -the current filename for error messages, searches the -L<C<@INC>|perlvar/@INC> directories, and updates L<C<%INC>|perlvar/%INC> -if the file is found. See L<perlvar/@INC> and L<perlvar/%INC> for these -variables. It also differs in that code evaluated with C<do FILE> -cannot see lexicals in the enclosing scope; C<eval STRING> does. It's -the same, however, in that it does reparse the file every time you call -it, so you probably don't want to do this inside a loop. +except that it's more concise, runs no external processes, and keeps +track of the current filename for error messages. It also differs in that +code evaluated with C<do FILE> cannot see lexicals in the enclosing +scope; C<eval STRING> does. It's the same, however, in that it does +reparse the file every time you call it, so you probably don't want +to do this inside a loop. + +Using C<do> with no path, like + + do 'stat.pl'; + +will search the L<C<@INC>|perlvar/@INC> directories, and update +L<C<%INC>|perlvar/%INC> if the file is found. See L<perlvar/@INC> +and L<perlvar/%INC> for these variables. In particular, note that +whilst historically L<C<@INC>|perlvar/@INC> contained '.' (the +current directory) making these two cases equivalent, that is no +longer necessarily the case, as there is now a compile-time option +to disable this behaviour. If L<C<do>|/do EXPR> can read the file but cannot compile it, it returns L<C<undef>|/undef EXPR> and sets an error message in diff --git a/pod/perlvar.pod b/pod/perlvar.pod index b8c68b3455..2f776489be 100644 --- a/pod/perlvar.pod +++ b/pod/perlvar.pod @@ -503,9 +503,10 @@ initially consists of the arguments to any B<-I> command-line switches, followed by the default Perl library, probably F</usr/local/lib/perl>, followed by ".", to represent the current directory. ("." will not be appended if taint checks are enabled, -either by C<-T> or by C<-t>.) If you need to modify this at runtime, -you should use the C<use lib> pragma to get the machine-dependent -library properly loaded also: +either by C<-T> or by C<-t>, or if configured not to do so by the +C<-Ddefault_inc_excludes_dot> compile time option.) If you need to +modify this at runtime, you should use the C<use lib> pragma to get +the machine-dependent library properly loaded also: use lib '/mypath/libdir/'; use SomeMod; -- Perl5 Master Repository
