summaryrefslogtreecommitdiff
path: root/MANIFEST
Commit message (Collapse)AuthorAgeFilesLines
* Create new perldelta for 5.21.12 (although it's unlikely to happen)Steve Hay2015-04-201-0/+1
|
* save_re_context(): do "local $n" with no PL_curpmDavid Mitchell2015-03-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RT #124109. 2c1f00b9036 localised PL_curpm to NULL when calling swash init code (i.e. perl-level code that is loaded and executed when something like "lc $large_codepoint" is executed). b4fa55d3f1 followed this up by gutting Perl_save_re_context(), since that function did, basically, if (PL_curpm) { for (i = 1; i <= RX_NPARENS(PM_GETRE(PL_curpm))) { do the C equivalent of the perl code "local ${i}"; } } and now that PL_curpm was null, the code wasn't called any more. However, it turns out that the localisation *was* still needed, it's just that nothing in the test suite actually tested for it. In something like the following: $x = "\x{41c}"; $x =~ /(.*)/; $s = lc $1; pp_lc() calls get magic on $1, which sets $1's PV value to a copy of the substring captured by the current pattern match. Then pp_lc() calls a function to convert the string to upper case, which triggers a swash load, which calls perl code that does a pattern match and, most importantly, uses the value of $1. This triggers get magic on $1, which overwrites $1's PV value with a new value. When control returns to pp_lc(), $1 now holds the wrong string value. Hence $1, $2 etc need localising as well as PL_curpm. The old way that Perl_save_re_context() used to work (localising $1..${RX_NPARENS}) won't work directly when PL_curpm is NULL (as in the swash case), since we don't know how many vars to localise. In this case, hard-code it as localising $1,$2,$3 and add a porting test file that checks that the utf8.pm code and dependences don't use anything outside those 3 vars.
* gv_const_sv() handle subrefs directly in the stashTony Cook2015-03-241-0/+1
| | | | | | With 2eaf799e sub declarations can store sub references directly in the stash, but gv_const_sv(), which might be passed an entry from the stash didn't handle that case.
* Replace common Emacs file-local variables with dir-localsDagfinn Ilmari Mannsåker2015-03-221-0/+2
| | | | | | | | | | | | | | | | An empty cpan/.dir-locals.el stops Emacs using the core defaults for code imported from CPAN. Committer's work: To keep t/porting/cmp_version.t and t/porting/utils.t happy, $VERSION needed to be incremented in many files, including throughout dist/PathTools. perldelta entry for module updates. Add two Emacs control files to MANIFEST; re-sort MANIFEST. For: RT #124119.
* Create new perldelta for 5.21.11 (if that happens)Steve Hay2015-03-201-0/+1
|
* Create single fcn for dup'd /lib codeKarl Williamson2015-03-191-0/+2
| | | | | | | | | | | | | | | | | | | | | Several /lib .pm's have the same code which is complicated enough to warrant being placed in a shared function. This commit creates a .pm to be used by these .pm's. This implements the perhaps archaic 'Meta' notation wherein characters above 0x7f are displayed as M- plus the ASCII-range character derived by looking at only the lower 7 bits of the upper range one. There are problems with this, in that a literal control character can be in the string, whereas it is trying to get rid of control characters. But I left it to work as-is, just centralizing the code. On EBCDIC platforms this notation makes no sense because the bit patterns are all mixed up about having the upper bit set. So this commit fixes things on these platforms, so these are changed to \x{...}. No literal control characters are emitted. Another potential problem is that characters above 0xFF are passed through, unchanged. But again, I let the existing behavior stand.
* Change name of mro.cKarl Williamson2015-03-191-1/+1
| | | | | | | | | This is to prevent a conflict showing up on z/OS (os390) because this file's name is the same as one in /ext, and there are functions cross-referenced between them, and the loader on that platform can't deal with this. See http://nntp.perl.org/group/perl.perl5.porters/226612
* Remove another stray Test::Simple file that is listed as EXCLUDEDSteve Hay2015-03-121-1/+0
|
* Straighten Porting/Maintainers.pl out following Test::Simple restorationSteve Hay2015-03-121-1/+0
| | | | Also remove a stray file that was in core when it was listed as EXCLUDED.
* move back to a stable Test-Simple, v1.001014Ricardo Signes2015-03-111-256/+159
|
* [perl #123202] speed up scalar //g against tainted stringsTony Cook2015-02-261-0/+1
|
* Remove three Test-Simple files which are no longer in Test-Simple on CPANSteve Hay2015-02-221-3/+0
|
* Upgrade CPAN from version 2.05 to 2.09-TRIALSteve Hay2015-02-211-0/+2
|
* new delta for 5.21.10Sawyer X2015-02-211-0/+1
|
* Add \b{sb}Karl Williamson2015-02-191-0/+1
|
* Add qr/\b{wb}/Karl Williamson2015-02-191-0/+1
|
* [perl #123836] basic tests for dump, catches the issue as a TODOTony Cook2015-02-171-0/+1
|
* Copy perl5202delta into bleadSteve Hay2015-02-141-0/+1
|
* Update Encode to CPAN version 2.70Chris 'BinGOs' Williams2015-02-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | [DELTA] $Revision: 2.70 $ $Date: 2015/02/05 10:53:00 $ ! Makefile.PL add bin/encguess to EXE_FILES 2.69 2015/02/05 10:35:11 ! bin/encguess Refactored so that * does not depend on non-core module (File::Slurp in particular) * PODified document * -s "encA encB" to -s encA,encB which is more shell-friendly * and more ! MANIFEST + bin/encguess Pulled: Added CLI wrapper for Encode::Guess https://github.com/dankogai/p5-encode/pull/32 ! Unicode/Unicode.pm Pulled: Bump $VERSION in module changed since Encode-2.60 https://github.com/dankogai/p5-encode/pull/31
* Test-Simple Version Bump, 1.301001_098 (RC18)Chad Granum2015-01-311-1/+3
|
* Version bump + new perldeltaMatthew Horsfall2015-01-201-0/+1
|
* anonconst.t for testing :constFather Chrysostomos2015-01-191-0/+1
|
* Update Pod-Simple to CPAN version 3.29James E Keenan2015-01-181-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [DELTA] 2015-01-13 David E. Wheeler <david@justatheory.org> * Release 3.29 NOTE: This will be the last release of Pod::Simple to support versions of Perl earlier than 5.6. Fixed test failure for unsupported encoding on Perl 5.6. Removed unnecessary dependency on constant. Reported by Petr Pisar (RT #85578). Many documentation and comment typos fixed by David Steinbrunner. Fixed issue when an encoding is declared via an '=encoding' directive *after* Pod::Simple has already detected an encoding. Thanks to Graham Knop for the patch and Patrice Dumas for the tests. Added '>&STDERR' as an output to better emulate Pod::Parser::parse_from_file(). Florent Angly. Tidied the description of the different Pod::Simple interfaces, with greater emphasis on the four different steps to subclassing. Florent Angly. Added the 'top_anchor' attribue to Pod::Simple::HTML, to allow specification of a custom top anchor format. Gabor Szabo. Fixed the text formatter to properly set the Text::Wrap overflow policy. Thanks to Nigel Metheringham for the fix! Fixed mis-matched quotation marks when adding JavaScript elements to the XHTML output. Patch from jonathancast. Fixed issues on EBCDIC. Patch from Karl Williamson (GitHub Pull Request #58). Fixed bug where the value passed to Pod::Simple::XHTML's html_css() method would be output twice. Thanks to Andrew Johnson for the report (RT #99303). Documented the 'recurse' attribute of Pod::Simple::Search. Thanks to Jim Keenan for the report (RT #91886). An error is no longer thrown when '=encoding' directives are found on subsequent lines. Instead, we now log a an error message, "Cannot have multiple =encoding directives" (RT #91757). The HTML and XHTML formatters now do a better job of preserving lines in 'begin html' blocks. Fixes a bug that dates from 2002 (Perl RT#9385, CPAN RT #91851). Collateral damage to 3 tests under ext/Pod-Html/.
* Update Devel-PPPort to CPAN version 3.28Matthew Horsfall2015-01-161-0/+44
| | | | | | | | [DELTA] 3.28 - 2015-01-16 * Update MANIFEST for regened base/todo files
* Add 'strict' subpragma to 'use re'Karl Williamson2015-01-131-0/+1
| | | | | | | | | | | | | | | | | | This subpragma is to allow p5p to add warnings/errors for regex patterns without having to worry about backwards compatibility. And it allows users who want to have the latest checks on their code to do so. An experimental warning is raised by default when it is used, not because the subpragma might go away, but because what it catches is subject to change from release-to-release, and so the user is acknowledging that they waive the right to backwards compatibility. I will be working in the near term to make some changes to what is detected by this. Note that there is no indication in the pattern stringification that it was compiled under this. This means I didn't have to figure out how to stringify it. It is fine because using this doesn't affect what the pattern gets compiled into, if successful. And interpolating the stringified pattern under either strict or non-strict should both just work.
* Simplify ext/SDBM_File layout and buildEd J2015-01-131-23/+22
| | | | Tony: fix MANIFEST
* Update Digest-SHA to CPAN version 5.95Chris 'BinGOs' Williams2015-01-121-1/+1
| | | | | | | | [DELTA] 5.95 Sat Jan 10 12:15:36 MST 2015 - modified the bit-ordering test (ref. t/bitorder.t) -- supplied directory-change preamble for CORE builds
* Update Digest-SHA to CPAN version 5.94Chris 'BinGOs' Williams2015-01-101-0/+1
| | | | | | | | | | | | | | [DELTA] 5.94 Sat Jan 10 00:45:28 MST 2015 - added support for threaded builds -- PERL_GET_NO_CONTEXT, pTHX_, aTHX_, etc. -- employed 'const' storage class where possible -- ref. rt.cpan.org #101260 - simplified shabits() routine (bitwise input buffering) -- slightly less efficient but easier to understand -- ref. rt.cpan.org #101344 - minor documentation tweaks and additions
* PATCH: [perl #123503] Bug in POSIX::strerror on 5.21.7Karl Williamson2015-01-061-0/+1
| | | | | | | | | | | | There were 3 ideas for a patch: mine, Slaven's, and Father Chrysostomos'. I tried out all 3, and all three appear to work, without breaking #123171. But I chose FC's as I think it is the best. I had to create a new .t because it turns out that the test didn't fail when placed in the obvious test file, wrappers.t. It appears that the 'use File::Temp' in that file perturbs things to not fail later on. This is scary, so I created a minimal file. I thought about using fresh_perl, but wrappers.t needs functions from Test::More.
* Test-Simple Version Bump, 1.301001_097 (RC17)Chad Granum2015-01-061-0/+2
|
* Support for nocapture regexp flag /nMatthew Horsfall (alh)2014-12-281-0/+1
| | | | | | | | | | | | | | | | | | | | This flag will prevent () from capturing and filling in $1, $2, etc... Named captures will still work though, and if used will cause $1, $2, etc... to be filled in *only* within named groups. The motivation behind this is to allow the common construct of: /(?:b|c)a(?:t|n)/ To be rewritten more cleanly as: /(b|c)a(t|n)/n When you want grouping but no memory penalty on captures. You can also use ?n inside of a () directly to avoid capturing, and ?-n inside of a () to negate its effects if you want to capture.
* Update autodie to CPAN version 2.26Chris 'BinGOs' Williams2014-12-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [DELTA] 2.26 2014-12-26 16:27:23+00:00 UTC * BUGFIX / INCOMPAT: Remove "fileno" and "umask" from the list of CORE subs protected by autodie and Fatal. When they return undef, it is not a failure. * BUGFIX: Fixed an error that could occur during global destruction of the form "(in cleanup) Can't use an undefined value as an ARRAY reference at .../autodie/Scope/GuardStack.pm line 48 during global destruction" (Thanks to Dave Rolsky). * BUGFIX: The open-pragma is now properly ignored when open is given an explicit layer. This brings autodie protected open in sync with open. Thanks to Gregory Oschwald and Graham Knop for the report + test case and the patch. (GH#52 + GH#53) * BUGFIX: Hide the "SCALAR" (buffer) argument in the string representation of autodie::exception for the read, sysread and syswrite CORE subs. This is to avoid a dump of binary data to the screen/log when a (sys)read or syswrite fails. * FEATURE: Let autodie::exception work in equality tests and string comparison via "overload fallback". (Thanks to Michael G. Schwern) * DOC: Mention that "kill" is in the ":ipc" category. It has been there since autodie v2.14. (Thanks to Felipe Gasper for reporting it, RT#97320). * INTERNAL: Use "parent" instead of "base" for inheritance. Also avoid some @ISA relationships that were redundant. Either truly redundant ones or by importing "import" from Exporter v5.57. - This change implies that perl 5.8 users must now also fetch "parent" from cpan. (Thanks to Olivier Mengué, GH#59) * DEVEL / TEST: The autodie module now accepts an undefined Fatal version, assuming it to be development version. Test cases that require versions are now either skipped or considered "release" test. * TEST / INTERNAL: Enabled travis-ci for Perl 5.20 * TEST: Close temp file before re-opening in t/truncate.t. (Thanks to Craig A. Berry, RT#96609) * TEST: Pass O_TRUNC with O_CREAT to sysopen in t/utf8_open.t. (Thanks to Craig A. Berry, RT#87237) * TEST: Clean up temp file in t/truncate.t. (Thanks to Dave Mitchell, RT#100688)
* sort manifestYves Orton2014-12-251-1/+1
| | | | | | | Why do we test for something that can be trivially accomplished by a make manisort? This is just makework with no value.
* add new API function sv_get_backrefs()Yves Orton2014-12-251-0/+1
| | | | | | | | | | | This encapsulates the logic to extract the backrefs from a weak-referent. Since sv_get_backrefs() can be used for a similar purposes as hv_backreferences_p() we no longer need to export the later, and therefore this patch also reverts ad2f46a793b4ade67d45ac0086ae62f6756c2752. See perl #123473 for related discussion, and https://github.com/Sereal/Sereal/issues/73 for a practical example of why this API is required.
* Update CPAN-Meta-Requirements to CPAN version 2.131Chris 'BinGOs' Williams2014-12-241-0/+1
| | | | | | | | | | | | | | [DELTA] 2.131 2014-12-23 15:04:19-05:00 America/New_York [ENHANCEMENTS] - Merging Module => 0 into requirements is now optimized [PREREQS] - Scalar::Utils removed as a prerequisite
* [perl #103260] Fix s/// with long stringsFather Chrysostomos2014-12-231-0/+1
| | | | | | | | | | | | | | | | | This is also the subject of perl #123071. The iteration count was stored in an I32 and was overflowing. If the maximum number of iterations possible overflowed, then it would become negative, and the substitution would fail immediately with ‘Substitu- tion loop’. I tried fixing this without increasing the size of the context stack entries on 64-bit builds (by skipping the loop check for long strings), but was unable to, because we have to return the number of iterations, which was also stored as I32. If we change just that one to SSize_t, we get an I32-sized alignment hole, so we might as well make maxiters a SSize_t as well, fixing the bug that way (the more straightforward way).
* Test-Simple Version Bump, 1.301001_093 (RC13)Chad Granum2014-12-231-0/+2
| | | | Add alternate email address for Chad Granum to Porting/checkAUTHORS.pl.
* perlunicook: add perlunicook to MANIFESTRicardo Signes2014-12-211-0/+1
|
* Create new perldeltaMax Maischein2014-12-211-0/+1
|
* add asan_ignore - which errors to ignoreDavid Mitchell2014-12-191-0/+1
| | | | | | | | "clang -fsanitize=undefined" produces lots of false positives. This file allows certain functions to be excluded from checking. Use it as: clang -fsanitize=undefined -fsanitize-blacklist=`pwd`/asan_ignore
* Update Filter::Util::Call to CPAN version 1.51Chris 'BinGOs' Williams2014-12-171-0/+1
| | | | | | | | | | | | | | | | | | | [DELTA] 1.50 2014-06-04 rurban ---- * Do not re-bless already blessed filter_add arguments into the callers package. Fixes RT #54452 * t/z_pod-coverage.t: omit empty Filter::decrypt (also fixes RT #84405) * Fix Perl Compiler detection in Filter::decrypt 1.51 2014-12-09 rurban ---- * Minor -Wall -Wextra cleanups by jhi and me. Fixes RT #100742 * Updated Copyright years * Document and warn about its limitations
* add cpan/Test-Simple/t/Behavior/subtest_die.t to MANIFESTFather Chrysostomos2014-12-141-0/+1
|
* Import perl5184deltaFather Chrysostomos2014-12-141-0/+1
|
* Test-Simple Version Bump, 1.301001_084 (RC4)Chad Granum2014-12-111-0/+3
|
* Add test that to/from native character set worksKarl Williamson2014-12-111-0/+1
| | | | | | For non-ASCII systems, there are character set translation tables. This makes sure the two accessible ones are inverses of each other. If not, nothing can be expected to work right.
* Delete: t/lib/1_compile.t, t/lib/compmod.plKarl Williamson2014-12-111-2/+0
| | | | | These are obsolete that no longer do anything useful. See http://nntp.perl.org/group/perl.perl5.porters/222709
* Add OP_MULTIDEREFDavid Mitchell2014-12-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This op is an optimisation for any series of one or more array or hash lookups and dereferences, where the key/index is a simple constant or package/lexical variable. If the first-level lookup is of a simple array/hash variable or scalar ref, then that is included in the op too. So all of the following are replaced with a single op: $h{foo} $a[$i] $a[5][$k][$i] $r->{$k} local $a[0][$i] exists $a[$i]{$k} delete $h{foo} while these aren't: $a[0] already handled by OP_AELEMFAST $a[$x+1] not a simple index and these are partially replaced: (expr)->[0]{$k} the bit following (expr) is replaced $h{foo}[$x+1][0] the first and third lookups are each done with a multideref op, while the $x+1 expression and middle lookup are done by existing add, aelem etc ops. Up until now, aggregate dereferencing has been very heavyweight in ops; for example, $r->[0]{$x} is compiled as: gv[*r] s rv2sv sKM/DREFAV,1 rv2av[t2] sKR/1 const[IV 0] s aelem sKM/DREFHV,2 rv2hv sKR/1 gvsv[*x] s helem vK/2 When executing this, in addition to the actual calls to av_fetch() and hv_fetch(), there is a lot of overhead of pushing SVs on and off the stack, and calling lots of little pp() functions from the runops loop (each with its potential indirect branch miss). The multideref op avoids that by running all the code in a loop in a switch statement. It makes use of the new UNOP_AUX type to hold an array of typedef union { PADOFFSET pad_offset; SV *sv; IV iv; UV uv; } UNOP_AUX_item; In something like $a[7][$i]{foo}, the GVs or pad offsets for @a and $i are stored as items in the array, along with a pointer to a const SV holding 'foo', and the UV 7 is stored directly. Along with this, some UVs are used to store a sequence of actions (several actions are squeezed into a single UV). Then the main body of pp_multideref is a big while loop round a switch, which reads actions and values from the AUX array. The two big branches in the switch are ones that are affectively unrolled (/DREFAV, rv2av, aelem) and (/DREFHV, rv2hv, helem) triplets. The other branches are various entry points that handle retrieving the different types of initial value; for example 'my %h; $h{foo}' needs to get %h from the pad, while '(expr)->{foo}' needs to pop expr off the stack. Note that there is a slight complication with /DEREF; in the example above of $r->[0]{$x}, the aelem op is actually aelem sKM/DREFHV,2 which means that the aelem, after having retrieved a (possibly undef) value from the array, is responsible for autovivifying it into a hash, ready for the next op. Similarly, the rv2sv that retrieves $r from the typeglob is responsible for autovivifying it into an AV. This action of doing the next op's work for it complicates matters somewhat. Within pp_multideref, the autovivification action is instead included as the first step of the current action. In terms of benchmarking with Porting/bench.pl, a simple lexical $a[$i][$j] shows a reduction of approx 40% in numbers of instructions executed, while $r->[0][0][0] uses 54% fewer. The speed-up for hash accesses is relatively more modest, since the actual hash lookup (i.e. hv_fetch()) is more expensive than an array lookup. A lexical $h{foo} uses 10% fewer, while $r->{foo}{bar}{baz} uses 34% fewer instructions. Overall, bench.pl --tests='/expr::(array|hash)/' ... gives: PRE POST ------ ------ Ir 100.00 145.00 Dr 100.00 165.30 Dw 100.00 175.74 COND 100.00 132.02 IND 100.00 171.11 COND_m 100.00 127.65 IND_m 100.00 203.90 with cache misses unchanged at 100%. In general, the more lookups done, the bigger the proportionate saving.
* reinstate cpan/IO-Compress/Makefile.PLDavid Mitchell2014-12-031-0/+1
| | | | | | | | | | | | This was removed a year ago, but it causes problems with ABSTACT and ABSTACT_FROM; since there isn't an IO/Compress.pm file. make_ext.pl special-cases Makefile.PL to get the abstract from IO/Compress/Base.pm; but MakeMaker looks for, and fails to find, 'IO::Compress - ...' in the pod for that file,and prints an error. Rather than more special-casing, it's easier to just restore the distribution's Makefile.PL, which already contains the correct 'ABSTRACT => ...' entry.
* add Porting/bench.plDavid Mitchell2014-11-291-0/+2
| | | | | | | | | | | | | | | | | | | This tool runs code snippets found in t/perf/benchmarks (or similar) under cachegrind, in order to calculate how many instruction reads, data writes, branches, cache misses, etc. that one execution of the snippet uses. It will run them against two or more perl executables and show how much each test has gotten better or worse. It is modelled on the perlbench tool, but since it measures instruction reads etc., rather than timings, it is much more precise and reproducible. It is also considerably faster, and is capable or running tests in parallel. Rather than displaying a single relative percentage per test/perl combination, it displays values for 13 different measurements, such as instruction reads, conditional branch misses etc. This commit also changes the format of t/perf/benchmarks slightly; it becomes an AoH rather than a HoH (to allow checking for duplicate keys), and the test names themselves become a :: hierarchy.
* Update Test-Simple to alpha 079Chad Granum2014-11-261-1/+3
|