| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
(manually cherry picked from commit 43323ad1f893493cf772c75d969510cc929db3bc)
|
| |
|
| |
|
|
|
|
| |
(manually cherry picked from commit fb51aa58533593dbb99ea302ea22cfff2a0d8b9d)
|
| |
|
|
|
|
| |
(manually cherry picked from commit c592f515473287ef2f6de4cec0ef64415c5c4960)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Revert to 2-arg open in one case.
If /dev/tty is inaccessible, redirecting file handles to STDERR:
open (my $fh, ">&STDERR))
... cannot be done as a 3 arg open or it'll actually try to write to that
file.
Bump $Term::ReadLine::VERSION.
Add unit test for RT #132008
For: RT #132008
(cherry picked from commit e4dc68d725b19f46c6fca9423e6e7a0eaeff47f4)
Signed-off-by: Nicolas R <atoomic@cpan.org>
xx
(cherry picked from commit d8b61909479178ddb668ad385988877d26f202f2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously duplication (as with open ... ">&...") would fail
unless the user supplied a GETARG, which wasn't documented, and
resulted in an attempt to free and unreferened scalar if supplied.
Cloning on thread creation was simply broken.
We now handle GETARG correctly, and provide a useful default if it
returns nothing.
Cloning on thread creation now duplicates the appropriate parts of the
parent thread's handle.
(cherry picked from commit 99b847695211f825df6299aa9da91f9494f741e2)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The jmpenv frame to catch Perl exceptions is set up lazily, and this used
to be a bit too lazy. The flow of control through pp_entereval had a gap
where the eval frame was on the context stack but the catcher hadn't been
set up, and it was possible for an exception to occur in that gap and be
signalled through unwinding, which would thus break. Specifically this
occurred if the code being evaluated died in a UNITCHECK block, because
doeval_compile() invokes those blocks with no special arrangements for
exceptions, whereas it handles compilation/BEGIN exceptions by means
that don't unwind.
This patch sets up the catcher earlier, before putting the eval frame
on the context stack. This change is made to entereval, entertry,
and require, the three ops that set up real eval frames. In each case,
whereas previously the catcher was interposed last thing before handing
off to the following op, the catcher is now set up first thing in the
pp function, with docatch() now recursively invoking the pp function.
Fixes [perl #105930].
(cherry picked from commit d7e3f70f30811328d2f6ae57e5892deccf64d0b2)
|
|
|
|
| |
(cherry picked from commit 50d330d7156d8ec3d4b839db84d2d67832ce322b)
|
| |
|
|
|
|
| |
(cherry picked from commit f1820d8248083f4ae01a30baeb564afb143537c3)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This introduces a more refined and accurate solution for removing
'.' from @INC while reducing the false positives.
The following explanation is roughly what is avaiable in the code
comments. If you stumble upon this and feel like the commit message
or the comments are not helpful enough, please introduce another
commit that adds more explanation or improve the code comments
(or both).
Using
if ($INC[-1] eq '.' && %{"$base\::"})
We decide that:
The package already exists => this an optional load
And: there is a dot at the end of @INC => we want to hide it
However: we only want to hide it during our *own* require()
(i.e. without affecting nested require()s).
So we add a hook to @INC whose job is to hide the dot, but which
first checks checks the callstack depth, because within nested
require()s the callstack is deeper.
Since CORE::GLOBAL::require makes it unknowable in advance what
the exact relevant callstack depth will be, we have to record it
inside a hook. So we put another hook just for that at the front
of @INC, where it's guaranteed to run -- immediately.
The dot-hiding hook does its job by sitting directly in front of
the dot and removing itself from @INC when reached. This causes
the dot to move up one index in @INC, causing the loop inside
pp_require() to skip it.
Loaded coded may disturb this precise arrangement, but that's OK
because the hook is inert by that time. It is only active during
the top-level require(), when @INC is in our control. The only
possible gotcha is if other hooks already in @INC modify @INC in
some way during that initial require().
Note that this jiggery hookery works just fine recursively: if
a module loaded via base.pm uses base.pm itself, there will be
one pair of hooks in @INC per base::import call frame, but the
pairs from different nestings do not interfere with each other.
(cherry picked from commit 571931bfa1120564fe207965f9ec2ea0f8bbbb8a)
[This is a forward-port, with improved commit message by Sawyer X
<xsawyerx@cpan.org>, of the commit that was cherry-picked into
maint-5.22 and maint-5.24 as commits a93da9a38c and 1afa289000
respectively.]
(cherry picked from commit fa71f6670dda393818d17f2f3bd2bee165347849)
|
| |
|
|
|
|
|
|
| |
This reverts commit a3bf60fbb1f05cd2c69d4ff0a2ef99537afdaba7.
Accidentally pushed work pending unfreeze.
|
|
|
|
|
|
| |
This reverts commit 259e968485f855f70472c8be9267efceca42b0fb.
Accidentally pushed work pending unfreeze.
|
|
|
|
|
|
| |
so that hv_func is left with only logic relating to selecting
and configuring the hash function we use, not the macros our
hash functions use.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds support for three new hash functions: StadtX, Zaphod32 and SBOX,
and reworks some of our hash internals infrastructure to do so.
SBOX is special in that it is designed to be used in conjuction with any
other hash function for hashing short strings very efficiently and very
securely. It features compile time options on how much memory and startup
time are traded off to control the length of keys that SBOX hashes.
This also adds support for caching the hash values of single byte characters
which can be used in conjuction with any other hash, including SBOX, although
SBOX itself is as fast as the lookup cache, so typically you wouldnt use both
at the same time.
This also *removes* support for Jenkins One-At-A-Time. It has served us
well, but it's day is done.
This patch adds three new files: zaphod32_hash.h, stadtx_hash.h,
sbox32_hash.h
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
During the build of XS modules, an empty Foo.bs file is normally created
for each Foo.so file. If a Foo_BS file is present, instead this triggers
the auto-generatation of a .bs file which may have executable perl
content.
However, nothing in core currently generates a non-empty .bs file. So add
a test that this mechanism works, and fix up the three dynamic lib loaders
which implement the 'do $bs if -s $bs' mechanism to not rely on the
process having '.' present in @INC.
As it happens this already works currently, because the name of the
.bs file to load will usually be something like
../../lib/auto/Foo/Foo.bs
and the presence of the leading '..' causes 'do' to load the file directly
rather than via @INC. But locally fix up @INC anyway, in case '../' isn't
always the case.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
- add default_inc_excludes_dot
|
|
|
|
|
|
| |
To keep t/porting/test_bootstrap.t happy, we need to declare the new test file
as an exception in that it says 'require test.pl' which tests in t/comp/ are
normally not permitted to do.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This test file is one of the longest running ones. It has three main
semi-independent parts. Two of them are split off into 2 files with a
common file required. The other part is still long running, so it is
split so that a common file is used to run the tests, but it is called
with a chunk number and it only executes based on that chunk. The
number of chunks is based on the environment variable TEST_JOBS, up to
10. Each chunk executes 1/TEST_JOBS of the total test. If TEST_JOBS is
not set, it reverts to 1 chunk. The alternative would be to revert to
10, but since there is overhead associated with each new chunk, I chose,
for now, 1.
There may be a better solution later on, but I think this is good enough
for now.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a very long running test. This commit splits it into smaller
chunks, based on the environment variable TEST_JOBS, up to 10. Each
chunk executes 1/TEST_JOBS of the total test. If TEST_JOBS is not set,
it reverts to 1 chunk. The alternative would be to revert to 10, but
since there is overhead associated with each new chunk, I chose, for
now, 1.
There may be a better solution later on, but I think this is good enough
for now.
|
|
|
|
|
|
|
|
|
| |
This adds a non-UTF-8 encoded file to make it easier to test malformed
UTF-8 strings. The file is automatically skipped on EBCDIC platforms.
The file is initialized with a test for [perl #129037], which had
already been unknowingly fixed by commit
75219bacf5aacd315b96083de24e82cd8238e99a
|
| |
|
|
|
|
|
|
|
|
|
|
| |
These programs are the same, just behave differently depending on
under which name you call it.
This is a very old script, originally dating from the perl3 era.
It has been deprecated in favour of h2xs for a long time.
In Perl 5.26, these utilities will no longer be available.
|
|
|
|
|
|
|
|
|
|
| |
This pod is intended to document all deprecations in Perl.
It will document when something became deprecated, when it is
scheduled to be actually removed, and it will offer alternatives.
Initially, we documented the undeprecation of *glob{FILEHANDLE},
and removed its entry from pod/perldiag.pod where it was left
after it being no longer deprecated.
|
| |
|
|
|
|
|
| |
This was first proposed in the thread starting at
http://www.nntp.perl.org/group/perl.perl5.porters/2014/09/msg219394.html
|
|
|
|
| |
Assistance with test provided by Jerry Hedden.
|
| |
|
| |
|
|
|
|
| |
Had to run ./perl -Ilib regen/lib_cleanup.pl.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
2016-12-13 v1.999806 pjacklam
* Add more logic to Makefile.PL regarding INSTALLDIRS (CPAN RT #119199
and #119225).
* In the TODO file, remove stuff that has been implemented.
2016-12-11 v1.999805 pjacklam
* Fix Makefile.PL so that this module installs over the core version.
* Add more tests for _nok() (binomial coefficient "n over k"). These new tests
revealed some problems with some of the backend libraries when _nok() was
given very large arguments.
* Remove t/Math/BigFloat/#Subclass.pm#, which is an Emacs temporary file
included by accident.
2016-12-07 v1.999804 pjacklam
* Implement as_bytes(), as requested (CPAN RT 119096). Also implement the
inverse conversion from_bytes(). This applies to Math::BigInt only. (Alas,
these methods will be inherited from Math::BigInt into Math::BigFloat,
Math::BigRat etc. where the methods won't work. Fixing this class
relationship is an issue of its own.)
* Implement _as_bytes() and _from_bytes() in Math::BigInt::Lib. Preferably,
the various backend libraries will implement faster versions of their
own. Add author test files for testing these methods thorougly.
* Fix from_hex(), from_oct(), and from_bin().
- When called as instance methods, the new value should be assigned to the
invocand unless the invocand is read-only (a constant).
- When called as instance methods, the assigned value was incorrect, if the
invocand was inf or NaN.
- Add tests to t/from_hex-mbf.t, t/from_oct-mbf.t, and t/from_bin-mbf.t
to confirm the fix.
- Add new test files t/from_hex-mbi.t, t/from_oct-mbi.t, and
t/from_bin-mbi.t for better testing of these methods with Math::BigInt.
* Correct typo in Math/BigInt/Lib.pm (otherise -> otherwise) (CPAN RT 118829).
* Add POD coverage testing of Math::BigInt::Lib to t/03podcov.t.
|
| |
|
|
|
|
|
|
|
| |
Whenever a magical/tied scalar which dies upon read was passed to _poll()
temporary buffer for events was not freed.
Adapted from a patch by Sergey Aleynikov <sergey.aleynikov@gmail.com>
|
|
|
|
|
| |
(Unicode.pm is customized for a version-bump only, to silence
t/porting/cmp_version.t since Unicode.xs has changed.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
2016-11-23 v0.5002 pjacklam
* Sync test files with Math-BigInt-1.999801. Add t/biglog.t and t/bigroot.t
since these are included in the test suite for the other backend libraries
(GMP and Pari).
2016-11-17 v0.5001 pjacklam
* Avoid 'use parent' to retain compatibility with old Perls.
* Fix incorrect version numbers in the CHANGES file.
* Trim whitespace.
2016-11-15 v0.5000 pjacklam
* Sync test files with Math-BigInt-1.999800.
* Math::BigInt::FastCalc is now a subclass of Math::BigInt::Calc, so remove
aliases like *Math::BigInt::FastCalc::_xxx = \&Math::BigInt::Calc::_xxx.
* Use OO-calls rather than function calls.
* Fix documentation error in Math::BigInt::FastCalc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
2016-11-15 v1.999800 pjacklam
* Upgrade bundled Module::Install from version 1.16 to version 1.17.
* Add Math::BigInt::Lib (lib/Math/BigInt/Lib.pm), a parent class for
Math::BigInt backend libraries.
* Use objects in Math::BigInt::Calc, not just array refs. Also use OO-style,
i.e., use $class->_add($x, $y) rather than _add($class, $x, $y).
* Not all library methods modify the invocand, so call library methods as,
e.g, $x = $LIB->method($x, $y) rather than just $LIB->method($x, $y).
* Math::BigInt::Calc is now a subclass of Math::BigInt::Lib.
* Add Math::BigInt::Lib::Minimal (t/Math/BigInt/Lib/Minimal.pm) for testing
inheritance from Math::BigInt::Lib.
* Minor simplification in Math::BigInt::Calc->_str().
* Speed up Math::BigInt::Calc->_root().
* Remove test files that were included in the previous release by accident.
* Add more tests and use more verbose output in some tests.
* Fix typo in lib/Math/BigFloat.pm
* Fix documentation error in lib/Math/Calc.pm
* Use Config::Tiny and an .ini file to handle the library specific
configuration for the author-lib*.t test files.
2016-11-23 v1.999801 pjacklam
* Fix, hopefully once and for all, the longstanding problem of handling undef
as an operand to mathematical methods. The only method that accepts undef as
an operand is blog(), where the second operand might be undef, as in
$x->blog() or $x->blog($b), where $b is undef. The undef signifies that
Euler's number should be used as the base. With this fix, we should be able
to get Math::BigInt::Lite working again.
* Add least common multiple method _lcm() to Math::BigInt::Lib, and add
corresponding test file t/author-lib-arithmetic-binary-_lcm.t and test data
file t/author-lib-arithmetic-binary-_lcm.dat.
* Remove internal function __lcm() which has become redundant now that _lcm()
is in the library.
* Make it possible to use bgcd() and blcm() as class methods, since other
methods can be used as class methods. This applies to both Math::BigInt and
Math::BigFloat.
* Fix blcm() with negative input. The LCM should always be non-negative. This
applies to both Math::BigInt and Math::BigFloat.
* Add tests for bgcd() and blcm() in t/bigintpm.t and t/bigfltpm.t.
* Fix tests for blcm() assuming that LCM(0,0) should be a NaN. LCM(0,0) is 0
by convention.
* Prefer Class->config('option') over Class->config()->{option}. However, this
does not seem to be working for all options. It seems that this won't work
properly until we move the global variables into the OO interface.
* Explicitly specify the library in all test files that are shared between
Math-BigInt and the library distributions (FaatCalc, GMP, Pari, ...) with,
e.g., "use Math::BigInt only => 'Calc';". This way, it will fail immediately
if the specified library can't be loaded rather than using the fallback
library.
2016-11-28 v1.999802 pjacklam
* When bzero(), bone(), binf(), and bnan() are used as constructors, don't
check whether the class allows the object to be modified. This applies to
both Math::BigInt and Math::BigFloat.
* Improve bgcd() and blcm(). This applies to both Math::BigInt and
Math::BigFloat.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[DELTA]
1.302067 2016-11-23 07:37:56-08:00 America/Los_Angeles
- Fix context test for recent blead.
1.302066 2016-11-08 07:58:39-08:00 America/Los_Angeles (TRIAL RELEASE)
- Handle cases where SysV IPC can be available but not enabled
- Import 'context' into Test2::IPC, it is used by 'cull'
- Propogate warnings settings to use_ok (#736)
1.302065 2016-10-30 11:54:37-07:00 America/Los_Angeles (TRIAL RELEASE)
- Set the TEST_ACTIVE env var to true
- Set the TEST2_ACTIVE env var to true
- Fix the oldest bug still in the bug list (#6)
This fixes cmp_ok output is some confusing cases
- Update travis config
- Add missing author deps
- Fix handling of negative pid's on windows
- Add can() to Test::Tester::Delegate (despite deprecation)
- Fix some minor test issues
1.302064 2016-10-24 21:03:24-07:00 America/Los_Angeles (TRIAL RELEASE)
- Repo management improvements
- Better handling of info vs diag in ->send_event
- Fix test that used 'parent'
- Better handling of non-bumping failures (#728)
1.302063 2016-10-23 21:31:20-07:00 America/Los_Angeles (TRIAL RELEASE)
- Fix double release when 'throw' is used in context_do()
|
|
|
|
|
|
|
|
|
| |
[DELTA]
1.19 Sat Dec 3 09:32:31 2016
- U::C::Locale newly supports locales: he, vo.
- locales updated to CLDR 24: az, haw.
- locale updated to CLDR 26: et.
|
| |
|
|
|
|
|
| |
p5p has taken over the maintenance of this module, so it should be in
dist/
|
| |
|
| |
|