summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* pods: Add L<> for links missing them; a couple nitsKarl Williamson2017-04-0524-59/+67
|
* perlfunc: 'do' synopsis: clarify when @INC usedDavid Mitchell2017-04-031-3/+7
|
* vec(): defer lvalue out-of-range croakingDavid Mitchell2017-03-315-29/+49
| | | | | | | | | | | | | | | | | | | | | RT #131083 Recent commits v5.25.10-81-gd69c430 and v5.25.10-82-g67dd6f3 added out-of-range/overflow checks for the offset arg of vec(). However in lvalue context, these croaks now happen before the SVt_PVLV was created, rather than when its set magic was called. This means that something like sub f { $x = $_[0] } f(vec($s, -1, 8)) now croaks even though the out-of-range value never ended up getting used in lvalue context. This commit fixes things by, in pp_vec(), rather than croaking, just set flag bits in LvFLAGS() to indicate that the offset is -Ve / out-of-range. Then in Perl_magic_getvec(), return 0 if these flags are set, and in Perl_magic_setvec() croak with a suitable error.
* Merge branch 'sawyerx/rmg-make-minitest' into bleadSawyer X2017-03-311-2/+2
|\
| * Also check minitest when preparing the tarball:Sawyer X2017-03-311-2/+2
|/ | | | | | | | | This was noted by Jarkko was a missing instruction for something that tends to fail but we usually don't notice. ("We" here excludes Jarkko who randomly finds this broken without us noticing.) I wasn't sure where to put this, but preparing the tarball seems like an appropriate time.
* fix perldiag entry for CORE::dump()David Mitchell2017-03-311-1/+1
| | | | the bare form wasn't deprecated in 5.30
* tweak 'do "%s" failed' messageDavid Mitchell2017-03-315-12/+19
| | | | | | | | | | | | | | The warning do "%s" failed, '.' is no longer in @INC was added in the previous devel release; this commit enhances it to say do "%s" failed, '.' is no longer in @INC; did you mean do "./%s" and updates the relevant docs. See http://nntp.perl.org/group/perl.perl5.porters/243788.
* Fix wrong text in Module-CoreList is_core testChris 'BinGOs' Williams2017-03-251-1/+1
|
* Slight comment enhancement.Jarkko Hietaniemi2017-03-251-1/+3
|
* Include 'sh' in Configure invocations in INSTALLDagfinn Ilmari Mannsåker2017-03-251-4/+4
| | | | | Most invocation examples included it, but some were missing. Add them for consistency.
* Use -Udefault_inc_excludes_dot in Configure exampleDagfinn Ilmari Mannsåker2017-03-251-1/+1
| | | | While equivalent to to the -D…=n form, the -U form is more common.
* [MERGE] Test and document PERL_USE_UNSAFE_INCDagfinn Ilmari Mannsåker2017-03-254-2/+26
|\ | | | | | | Also remove it from the test environment in case it's set by the user.
| * Document PERL_USE_UNSAFE_INC in perlrun.podDagfinn Ilmari Mannsåker2017-03-251-0/+9
| |
| * Test PERL_USE_UNSAFE_INCDagfinn Ilmari Mannsåker2017-03-251-2/+11
| |
| * Delete PERL_USE_UNSAFE_INC from test environmentDagfinn Ilmari Mannsåker2017-03-253-0/+6
|/ | | | | It intereferes with tests of @INC contents, and all core tests must work without it.
* INSTALL: add entry for -Ddefault_inc_excludes_dotDavid Mitchell2017-03-241-0/+10
|
* bump base.pm $VERSION and un-CUSTOMISEDavid Mitchell2017-03-243-6/+1
| | | | follow-up to the previous commit's reverting of base.pm @INC changes.
* Revert base.pm's dot-in-INC changes.David Mitchell2017-03-243-39/+2
| | | | | | | | | | | | | | | | | This reverts: 458470f62360040dcd4b5a55c8ba07503e1af5fc 362f3f748cb84934a072fadbfb8b51090e2f9afe bca552795994a553e07b38a6f82a233533919926 and the base.pm part of 8901ddee94b1bc3764b4278d1cb26bed30bc2605 This commit removes all the recent stuff that made base.pm localise @INC and remove a trailing '.'. This is because perl 5.26.0 will be released with '.' in @INC disabled by default. See RT #128769.
* Skip %Config test under minitest.Jarkko Hietaniemi2017-03-221-0/+3
|
* skip an op/range.t test under -Dusemallocwrap=noDavid Mitchell2017-03-221-2/+4
| | | | | | | RT #131033 A recently added test checked for a memory wrap condition, which won't happen if memory wrap checking is disabled.
* Add link to epigraphSawyer X2017-03-211-0/+2
|
* Regen opcodesChris 'BinGOs' Williams2017-03-211-1/+1
| | | | Ran regen/opcode.pl to regenerate
* Fix uconfig errorsChris 'BinGOs' Williams2017-03-211-1/+1
| | | | Ran regen/uconfig_h.pl to regenerate
* Regen META.json for 5.26.0 - it is stableSawyer X2017-03-211-1/+1
|
* Update Module::CoreList for 5.26.0Sawyer X2017-03-216-4/+38
|
* Version bump: 5.25.11 -> 5.26.0Sawyer X2017-03-2026-198/+198
|
* New perldeltaSawyer X2017-03-2011-84/+500
|
* Tick off releaseSawyer X2017-03-201-1/+1
|
* Add epigraph for 5.25.11 (link forthcoming)Sawyer X2017-03-201-0/+10
|
* add new release to perlhistv5.25.11Sawyer X2017-03-201-0/+1
|
* Finalize perldelta:Sawyer X2017-03-201-277/+65
| | | | | This includes cleanups, adding obituary notice for Kip, upgraded modules, and fixing a small unescaped <>.
* Update Module::CoreList for 5.25.11Sawyer X2017-03-201-1/+114
|
* Revert "Respect hashbangs containing perl6"Leon Timmermans2017-03-201-2/+0
| | | | | | | | | | | This reverts commit d9fc04eebe29b8cf5f6f6bf31373b202eafa44d6. As discussed in http://www.nntp.perl.org/group/perl.perl5.porters/2016/05/msg236423.html, the current perl6-shebang code has rather sharp edge-cases. Hence a revert until we come up with a better solution seems wise. (cherry picked from commit f691e4455dd520eff11e7f070a9b034b0fa5ca1c)
* Upgrade to Test::Harness 3.38Leon Timmermans2017-03-2048-96/+98
|
* Fix loading Module::CoreList in corelist.plSawyer X2017-03-201-2/+2
|
* Update Test::Harness 3.36 -> 3.38Sawyer X2017-03-191-49/+1
|
* Porting/sync-with-cpan: honour exec-bit whitelistAaron Crane2017-03-191-0/+9
| | | | Reported by kid51++
* Porting/sync-with-cpan: handle absence of "." from @INCAaron Crane2017-03-191-1/+1
|
* Regenerate t/porting/customized.dat.James E Keenan2017-03-181-27/+0
| | | | | | By running t/porting/customized.t --regen. This should have been done as final part of CPAN-sync for IO-Compress et al in commit 5173674b1cb46b59301b559929904bc67fa15056 on Mar 10 2017.
* Fix copyright test:Sawyer X2017-03-181-1/+3
| | | | | Other tests are run from t/ and so they add ".." to @INC, but this test runs from the main dir, so it needs to add ".".
* Reflect next changes in release scheduleSawyer X2017-03-181-0/+2
|
* Sync Pod-Perldoc with CPAN version 3.28.James E Keenan2017-03-1714-23/+62
| | | | | This should enable us to close https://rt.perl.org/Ticket/Display.html?id=130759.
* [MERGE] fix vec() offset overflow issuesDavid Mitchell2017-03-175-40/+174
|\
| * fix integer overflows in Perl_do_vecget()/setDavid Mitchell2017-03-172-31/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RT #130915 In something like vec($str, $bignum, 16) (i.e. where $str is treated as a series of 16-bit words), Perl_do_vecget() and Perl_do_vecset() end up doing calculations equivalent to: $start = $bignum*2; $end = $start + 2; Currently both these calculations can wrap if $bignum is near the maximum value of a STRLEN (the previous commit already fixed cases for $bignum > max(STRLEN)). So this commit makes them check for potential overflow before doing such calculations. It also takes account of the fact that the previous commit changed the type of offset from signed to unsigned. Finally, it also adds some tests to t/op/vec.t for where the 'word' overlaps the end of the string, for example $x = vec("ab", 0, 64) should behave the same as: $x = vec("ab\0\0\0\0\0\0", 0, 64) This uses a separate code path, and I couldn't see any tests for it. This commit is based on an earlier proposed fix by Aaron Crane.
| * Perl_do_vecget(): change offset arg to STRLEN typeDavid Mitchell2017-03-175-10/+94
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | ... and fix up its caller, pp_vec(). This is part of a fix for RT #130915. pp_vec() is responsible for extracting out the offset and size from SVs on the stack, and then calling do_vecget() with those values. (Sometimes the call is done indirectly by storing the offset in the LvTARGOFF() field of a SVt_PVLV, then later Perl_magic_getvec() passes the LvTARGOFF() value to do_vecget().) Now SvCUR, SvLEN and LvTARGOFF are all of type STRLEN (a.k.a Size_t), while the offset arg of do_vecget() is of type SSize_t (i.e. there's a signed/unsigned mismatch). It makes more sense to make the arg of type STRLEN. So that is what this commit does. At the same time this commit fixes up pp_vec() to handle all the possibilities where the offset value can't fit into a STRLEN, returning 0 or croaking accordingly, so that do_vecget() is never called with a truncated or wrapped offset. The next commit will fix up the internals of do_vecget() and do_vecset(), which have to worry about offset*(2^n) wrapping or being > SvCUR(). This commit is based on an earlier proposed fix by Aaron Crane.
* [MERGE] fix -DPERL_GLOBAL_STRUCT_PRIVATE buildsDavid Mitchell2017-03-177-12/+23
|\ | | | | | | | | With no automatic smoking, this build option has suffered some bitrot over the last few months.
| * PERL_GLOBAL_STRUCT_PRIVATE: dump.c:op_class_namesDavid Mitchell2017-03-171-1/+1
| | | | | | | | | | t/porting/libperl.t under -DPERL_GLOBAL_STRUCT_PRIVATE doesn't like non-const static data structures
| * PERL_GLOBAL_STRUCT_PRIVATE: fix scope.c:arg_countsDavid Mitchell2017-03-171-1/+1
| | | | | | | | | | t/porting/libperl.t under -DPERL_GLOBAL_STRUCT_PRIVATE doesn't like non-const static data structures
| * PERL_GLOBAL_STRUCT_PRIVATE: fix PL_isa_DOESDavid Mitchell2017-03-174-8/+8
| | | | | | | | | | | | | | | | | | I added the global string constant PL_isa_DOES recently. This caused t/porting/libperl.t to fail under -DPERL_GLOBAL_STRUCT_PRIVATE builds. This commit makes PL_isa_DOES be declared and defined in a similar way to other such global constants. This is pure cargo-culting - I have no real idea of the point of all the EXTCONST, INIT and globvar.sym stuff.
| * t/porting/libperl.t: add better dianosticsDavid Mitchell2017-03-171-2/+13
|/ | | | | | For -DPERL_GLOBAL_STRUCT_PRIVATE builds, it checks that there aren't any global symbols. Make it display the symbols if it finds any. It already does so for bss; this commit adds data and common diag()s.