This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Smylers [Wed, 6 Sep 2017 11:32:09 +0000 (12:32 +0100)]
Debugger cmds not requiring spaces
Make debugger commands like these work again, not requiring a space
between a single-letter command and a following argument which starts with
punctuation:
p$^V
x@ARGV
x\@ARGV
x\%INC
Regressions were in
d478d7a0 and
8f144dfc.
James E Keenan [Thu, 8 Jun 2017 12:19:53 +0000 (08:19 -0400)]
Remove outdated references to 'swap'.
Per: RT # 131532
Sawyer X [Thu, 28 Sep 2017 20:34:39 +0000 (22:34 +0200)]
Revert "Revert "Fallbacks for Perl_fp_class_denorm().""
This reverts commit
2749d0395cc1e21d69af38cde41490699fc6e3ab.
The original commit:
commit
e77299d3416e7e737523afdc0642734205e46d59
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date: Mon May 29 09:28:30 2017 +0300
Fallbacks for Perl_fp_class_denorm().
These may be needed if the compiler doesn't expose the C99 math
without some special switches.
This provides a fix for CentOS 5.
James E Keenan [Tue, 26 Sep 2017 12:52:15 +0000 (08:52 -0400)]
Document that POSIX::localtime needs explicit argument.
For: RT #132145
Chris 'BinGOs' Williams [Mon, 25 Sep 2017 08:54:23 +0000 (09:54 +0100)]
Update File-Fetch to CPAN version 0.54
[DELTA]
0.54 Sun Sep 24 19:46:04 2017
* Switch test URL from www.cpan.org to httpbin.org
Chris 'BinGOs' Williams [Sat, 23 Sep 2017 09:03:43 +0000 (10:03 +0100)]
More than twist in my sobriety
Steve Hay [Fri, 22 Sep 2017 22:42:13 +0000 (23:42 +0100)]
Tick off 5.24.3 and 5.26.1
Steve Hay [Fri, 22 Sep 2017 22:40:38 +0000 (23:40 +0100)]
Add perldeltas for 5.24.3 and 5.26.1
Steve Hay [Fri, 22 Sep 2017 22:28:01 +0000 (23:28 +0100)]
Import Module::CoreList data for 5.24.3 and 5.26.1
Steve Hay [Fri, 22 Sep 2017 21:49:24 +0000 (22:49 +0100)]
Epigraphs for 5.24.3 and 5.26.1
Steve Hay [Fri, 22 Sep 2017 19:50:51 +0000 (20:50 +0100)]
5.24.3 and 5.26.1 today
Steve Hay [Fri, 22 Sep 2017 18:30:07 +0000 (19:30 +0100)]
Two-space indent for 5.27.4's epigraph
and really correct release date for 5.27.3
Chris 'BinGOs' Williams [Fri, 22 Sep 2017 12:31:43 +0000 (13:31 +0100)]
We already have version-0.9918
Chris 'BinGOs' Williams [Fri, 22 Sep 2017 11:55:42 +0000 (12:55 +0100)]
Update Math-BigInt-FastCalc to CPAN version 0.5006
[DELTA]
2017-01-11 v0.5006 pjacklam
* Fix syntax for required version of Math::BigInt::Lib.
* Better checking of POD coverage.
* Sync test files with Math-BigInt-1.999808.
Chris 'BinGOs' Williams [Fri, 22 Sep 2017 11:52:34 +0000 (12:52 +0100)]
Update Math-BigInt to CPAN version 1.999811
[DELTA]
2017-03-15 v1.999811 pjacklam
* Fix an old in the Math::BigFloat methods as_hex(), as_oct(), and as_bin()
methods resulting in loss of accuracy. This bug was introduced in bug in
Math-BigInt-1.76. Due to a naive copy and paste by me, and lack of tests,
this bug was also present in the newer to_hex(), to_oct(), and to_bin()
methods. This shows the bug, as it did not print "0xffff...":
print Math::BigFloat -> from_hex("f" x 30) -> as_hex();
* Fix incorrect formatting in the output from the Math::BigFloat methods
to_hex(), to_oct(), and to_bin() when the output was zero. A prefix was
added when it shouldn't have been.
* Add tests to bigintpm.inc and bigfltpm.inc for better testing of as_hex(),
as_oct(), and as_bin() as well as to_hex(), to_oct(), and to_bin().
* "Synchronize" tests and code formatting in bigintpm.inc and bigfltpm.inc.
2017-03-01 v1.999810 pjacklam
* CPAN RT #120240 revealed that the problems with undefined values is still
present. After a close examination, I believe the only way to get this
really working is to to make blog() call objectify() differently depending
on whether the base for the logarithm is undefined or not. That way we can
avoid objectify() converting the undefined value to a zero. Ideally, we
should warn about undefined values when used in any other context, but we'll
handle that in a later release. See also the related changelog entry for
v1.999801.
* Fix the way the argument count is computed in objectify(). When an argument
count of 0 is given, it means that we should objectify all input arguments.
However, it turned out that the actual argument count was computed
incorrectly.
* Fix CPAN RT #120242 rearding c3 method resolution.
2017-02-10 v1.999809 pjacklam
* When a new method is added to Math::BigInt or Math::BigFloat, and this new
method requires a new backend library method, die with a suitable error
message if the installed backend library does not support this new method.
The error message says that the method requires a newer version of the
backend library.
* Fix typos in Math::BigFloat and Math::BigInt.
* Add bfib() and blucas() to Math::BigInt. They return Fibonacci and Lucas
numbers, respectively. The actual computation of the numbers is done by the
backend library. Documented both methods in POD. Add test files bfib-mbi.t
and blucas-mbi.t.
* Add _fib() and _lucas() to Math::BigInt::Lib. They return Fibonacci and
Lucas numbers, respectively. Document both methods in POD. Add test files
author-lib-arithmetic-unary-_fib.t and author-lib-arithmetic-unary-_lucas.t.
2017-01-11 v1.999808 pjacklam
* In Math::BigInt and Math::BigFloat, add methods bdfac() for double
factorial. Add tests for this method.
* In Math::BigInt and Math::BigFloat, add methods to_hex(), to_oct(), and
to_bin() for hexadecimal, octal, and binary string output without prefix.
Even for Math::BigFloat there is still only support for integer output. Add
tests for these methods.
* Add test for as_oct() corresponding to the old tests for as_hex() and
as_bin().
* In Math::BigInt::Lib, add method _dfac() for double factorial. Add
corresponding tests.
* In Math::BigInt::Lib, fix bug in overloaded "int".
* In Math::BigInt::Lib, implement much faster versions of _from_hex(),
_from_oct(), and _from_bin().
* In Makefile.PL, improve the wording in the message displayed if some of
the installed backend libraries are not a subclass of Math::BigInt::Lib (and
hence will not provide
* Fix minor bugs in some of the author library test files (t/author-lib*.t).
* Allow leading and trailing whitespace in the input to from_hex(),
from_oct(), and from_bin(). Add tests to verify. This is a regressions
(CPAN RT #119805).
2016-12-23 v1.999807 pjacklam
* Add a message to Makefile.PL recommending upgrade if old libraries are
installed. This message is more or less equivalent to the one appearing in
Math-BigInt up until v1.997.
* Improve the documentation (POD) in Math::BigInt::Lib.
* Speed up _sqrt() and _root() in Math::BigInt::Lib.
* Remove checking for exception cases (cases that would return +Inf, -Inf, or
NaN) in Math::BigInt::Lib. It has been documented for a long time that such
checking should be done by the caller.
* Add library methods _to_bin(), _to_oct(), _to_hex(), which are equivalent to
the _as_bin(), _as_oct(), and _as_hex() methods respectively, except that
the _to_*() methods don't use a prefix in the output. This removes the need
for the frequent removal of the various prefixes. Now each _as_*() method
calls the equivalent _to_*() method, adds a prefix, and returns the output.
The _to_*() methods are faster than the equivalent _as_*() methods were.
* Add author test files for the methods _to_bin(), _to_oct(), and _to_hex().
* Add library method _to_bytes(). The method _as_bytes() would have been
called _to_bytes() if I had thought of it earlier. The method _as_bytes() is
now just an alias to _to_bytes(). The _to_bytes() method also fixes a bug
that was present in the _as_bytes() method. (CPAN RT #119346).
* Add author test files for the method _to_bytes().
* Add more tests for library methods _inc() and _dec(). When trying to bring
the Math::BigInt::BitVect library back to life I realized that the test
suite didn't catch certain errors in _inc() and _dec().
* Die if trying to use as_bytes() or from_bytes() with a backend library that
doesn't support the corresponding library methods.
* Correct minor errors in the output messages in the test files.
* Improve/correct various comments in the source code.
* More diagnostic output is displayed by the author test files if the
AUTHOR_DEBUGGING environment variable is set.
Chris 'BinGOs' Williams [Fri, 22 Sep 2017 11:43:50 +0000 (12:43 +0100)]
Update Locale-Codes to CPAN version 3.54
[DELTA]
VERSION 3.54 (2017-09-01; sbeck)
NEW CODE(s)
VERSION 3.53 (2017-07-25; sbeck)
NEW CODE(s)
Fixed the default error condition in legacy modules.
With the addition of the OO module, better error handling was added (and it was on by default). The non-OO (legacy) modules did not report errors, so code that uses them, would now behave differently if invalid data were passed in.
I have turned off error handling by default in the legacy modules. The show_errors method was added to each of the non-OO modules to report errors if desired.
Reported by dmaestro on GitHub.
Chris 'BinGOs' Williams [Fri, 22 Sep 2017 11:41:19 +0000 (12:41 +0100)]
Update EUCB version from CPAN
Chris 'BinGOs' Williams [Fri, 22 Sep 2017 10:15:28 +0000 (11:15 +0100)]
Update Time-HiRes to CPAN version 1.9746
[DELTA]
1.9746 [2017-08-17]
- Unreliable t/usleep.t and t/utime.t tests [rt.cpan.org #122819]
Avoid testing for $dt = $t2 - $t1 and assuming $dt is less than
some value since a heavily loaded machine can delay the $t2.
Testing for greater than is fine.
- Tweak the configuring messages about subsecond stat/utime.
1.9745 [2017-08-14]
- Properly check for futimens/utimensat actually doing something.
This should handle 'gnukfreebsd' (which has only stubs, so far
we have been skipping the test) and as a new thing 'gnu' (Hurd)
(also only stubs). Thanks to Nigel Horne.
- Scan in t/utime.t whether the filesystem (wherever File::Temp
puts it tempfiles) supports subsecond timestamps. This removes
the fragile Linux/ext3 specific hack. As a side effect, the
setting of subsecond timestamps is tested only if reading of
them is supported. Thanks to Carsten Gaebler for the test idea,
and Ryan Voots for testing.
1.9744 [2017-07-27]
- add more potential clock constants, like CLOCK_MONOTONIC_FAST
(available in FreeBSD), and not all potentially found clock
constants were properly exported to be available from Perl,
see your system's clock_gettime() documentation for the available ones
1.9743 [2017-07-20]
- correct declared minimum Perl version (should be 5.6, was declared
as 5.8 since 1.9727_03): blead
af94b3ac
- fix the fix for 'do file' to load hints in Makefile.PL: blead
3172fdbc
Chris 'BinGOs' Williams [Fri, 22 Sep 2017 10:13:52 +0000 (11:13 +0100)]
Update Time-Piece to CPAN version 1.3202
[DELTA]
1.3202 2017-09-13
- Fix AIX compile
Chris 'BinGOs' Williams [Fri, 22 Sep 2017 10:10:18 +0000 (11:10 +0100)]
Update Scalar-List-Utils to CPAN version 1.49
[DELTA]
1.49 -- 2017-09-08 12:25:54
[CHANGES]
* Fixes for unit tests to pass on perl 5.6.2
* Fix typo in documentation
Chris 'BinGOs' Williams [Fri, 22 Sep 2017 10:08:35 +0000 (11:08 +0100)]
Update File-Path to CPAN version 2.15
[DELTA]
2.15 2017-07-29
- Correct documentation error re possible arguments for rmtree().
Chris 'BinGOs' Williams [Fri, 22 Sep 2017 10:05:46 +0000 (11:05 +0100)]
Update Digest-SHA to CPAN version 5.97
[DELTA]
5.97 Wed Sep 6 02:23:02 MST 2017
- added 'quiet' option to shasum
-- thanks to Chris David for suggestion and initial patch
-- ref. rt.cpan.org #122750
- expanded shasum --help message
-- to explain use of escaped FILE names
Nicolas R [Mon, 18 Sep 2017 20:37:48 +0000 (14:37 -0600)]
Add CvGvNAME_HEK helper
CvGvNAME_HEK can be used instead of the boilerplate:
CvNAMED(sv) ? CvNAME_HEK((CV *)sv) : GvNAME_HEK(CvGV(sv))
This is also saving an extra CvNAMED check from CvNAME_HEK.
Chris 'BinGOs' Williams [Thu, 21 Sep 2017 08:47:55 +0000 (09:47 +0100)]
What a show, there they go smokin' up the sky, yeah.
jpl [Mon, 28 Aug 2017 13:54:15 +0000 (09:54 -0400)]
Change save/restore behavior for comparisons
S_mergesortsv was saving the current comparison routine only when the
SORTf_DESC flag was set, but "restoring" it when ANY flag was set.
When some flag other than SORTf_DESC was set, this could lead to
the pointer to the comparison routine being set to NULL,
triggering a segfault when the routine was subsequently invoked.
Tony Cook [Thu, 21 Sep 2017 00:35:25 +0000 (10:35 +1000)]
(perl #127663) skip the new in-place edit tests if File::Spec not loadable
I expected File::Spec to be loadable at this point, since PathTools is
in buildcustomize.pl, but that isn't loaded in minitest, so it failed.
The new tests in-place edit tests are now conditional on File::Spec
loading.
John SJ Anderson [Wed, 20 Sep 2017 22:27:28 +0000 (15:27 -0700)]
Bump perl version to 5.27.5, including Module::CoreList bits
John SJ Anderson [Wed, 20 Sep 2017 22:16:51 +0000 (15:16 -0700)]
New perldelta for 5.27.5
John SJ Anderson [Wed, 20 Sep 2017 22:07:30 +0000 (15:07 -0700)]
Porting/release_schedule.pod: Record release of 5.27.4
John SJ Anderson [Wed, 20 Sep 2017 22:03:50 +0000 (15:03 -0700)]
Porting/epigraphs.pod: correct release date for 5.27.3
John SJ Anderson [Wed, 20 Sep 2017 22:03:28 +0000 (15:03 -0700)]
Epigraph for 5.27.4
John SJ Anderson [Wed, 20 Sep 2017 21:59:39 +0000 (14:59 -0700)]
Merge branch 'release-5.27.4' into blead
John SJ Anderson [Wed, 20 Sep 2017 19:54:16 +0000 (12:54 -0700)]
Revert "test - Do not run test output at compilation time"
This reverts commit
d190dde9b72a7c306622389007b0dba86901ce52.
Changes in this commit broken `make minitest`, as discovered during
the 5.27.4 release process.
John SJ Anderson [Wed, 20 Sep 2017 18:11:39 +0000 (11:11 -0700)]
add new release to perlhist
John SJ Anderson [Wed, 20 Sep 2017 17:58:00 +0000 (10:58 -0700)]
Finalize perldelta for 5.27.4
John SJ Anderson [Wed, 20 Sep 2017 13:53:25 +0000 (06:53 -0700)]
Update Module::CoreList for 5.27.4
Tony Cook [Wed, 20 Sep 2017 03:44:59 +0000 (13:44 +1000)]
prevent pod/builttoc spewing bad UTF-8 errors under PERL_UNICODE
Tony Cook [Wed, 20 Sep 2017 03:27:11 +0000 (13:27 +1000)]
avoid sysread()/syswrite() warnings from the default :utf8 from PERL_UNICODE
In a UTF-8 locale, if the PERL_UNICODE environment variable is set,
perl may add a :utf8 layer.
v5.23.1-197-gfb10a8a deprecated using sysread(), syswrite() etc on such
handles, which meant that a test run under PERL_UNICODE could produce
a significant number of deprecation warnings.
Prevent those warnings, typically by binmode(), but in one case by
disabling the warning.
John SJ Anderson [Tue, 19 Sep 2017 16:04:05 +0000 (09:04 -0700)]
uconfig.h: Regenerate for release
H.Merijn Brand [Tue, 19 Sep 2017 10:50:05 +0000 (12:50 +0200)]
regen Configure and friends after backports
Tony Cook [Tue, 19 Sep 2017 07:40:52 +0000 (17:40 +1000)]
(perl #132008) make sure the test behaves without a tty
The test is intended to test how Term::ReadLine behaves without a tty
and mocks up an invalid tty.
Unfortunately some of the checks it does fail if the test starts without
a tty.
Modified the test to handle the lack of a tty.
Tony Cook [Tue, 19 Sep 2017 01:25:59 +0000 (11:25 +1000)]
perldelta for
08ccc8101277
Tony Cook [Tue, 25 Jul 2017 04:36:28 +0000 (14:36 +1000)]
(perl #131777) prevent non-'=' assign ops tokens in sub signatures
The yacc grammar introduced in
d3d9da4a7 uses ASSIGNOP to
represent the '=' used to introduce default values in subroutine
signatures, unfortunately the parser returns ASSIGNOP for non-simple
assignments, which allowed:
sub foo ($x += 1) { ... }
to default $x to 1.
Modify yylex to accept only the simple assignment operator after a
subroutine parameter.
I'm not especially happy with the error recovery here.
Karl Williamson [Sun, 17 Sep 2017 03:59:20 +0000 (21:59 -0600)]
APItest/t/locale.t: Fix to not show failures on OpenBsd
It turns out that this OS does not implement all of POSIX 2008, and so
certain tests were failing. This moves the eval earlier and makes sure
it succeeds before calling the API function
Tony Cook [Mon, 18 Sep 2017 05:07:21 +0000 (15:07 +1000)]
(perl #132008) try to prevent the similar mistakes in the future
James E Keenan [Fri, 1 Sep 2017 02:57:06 +0000 (22:57 -0400)]
Term::ReadLine generates empty &STDERR files
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
Tony Cook [Mon, 18 Sep 2017 01:18:55 +0000 (11:18 +1000)]
(127663) fix some portability issues with the new in-place edit
- renameat() is present but broken for absolute paths on FreeBSD 11,
add a workaround.
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=222258
- the new implementation uses linkat() but the availability checks
in doio.c and the tests didn't check for it.
James E Keenan [Thu, 14 Sep 2017 16:38:13 +0000 (12:38 -0400)]
Revise tests to account for d_linkat.
James E Keenan [Thu, 14 Sep 2017 14:12:01 +0000 (10:12 -0400)]
Make use of *at functions dependent upon HAS_LINKAT.
As suggested by Zefram.
For: RT #132087.
Tony Cook [Mon, 18 Sep 2017 00:39:48 +0000 (10:39 +1000)]
(perl #127663) work around what appears to be a freebsd bug
renameat() on FreeBSD 11 fails if the paths supplied are absolute
paths.
Tony Cook [Fri, 15 Sep 2017 00:25:10 +0000 (10:25 +1000)]
(perl #132087) correct *at() function detection on older darwin
James E Keenan [Fri, 15 Sep 2017 23:46:03 +0000 (19:46 -0400)]
Revert changes to t/op/threads-dirh.t in
1ce8be81dfaf09bc8a07.
They were causing failures on smoke testers running threaded builds on Linux.
For: RT #132092
Nicolas R [Thu, 14 Sep 2017 20:52:37 +0000 (14:52 -0600)]
test - Do not run test output at compilation time
Even if in most of the cases it seems ok to print
output during compilation time, this is a pretty
bad idea (when compiling the test for example).
Run all the tests at compile time, but only
print the test status at run time.
(Trailing whitespace cleanup by committer.)
For: RT # 132092
Nicolas R [Thu, 14 Sep 2017 20:52:19 +0000 (14:52 -0600)]
test - Do not use B which is a reserved namespace
B is already a reserved namespace. This is a bad idea
to use B during unit test, as this increase the complexity
when using one of the B subpackage to run the test.
Simply rename B to BB ( and A to AA ).
(Whitesapce cleanup by committer.)
For: RT # 132092
Nicolas R [Thu, 14 Sep 2017 20:51:42 +0000 (14:51 -0600)]
tests - remove useless setting in BEGIN
These two tests are not using test.pl
and do not need to load any special file.
No need for fancy setup in BEGIN, all the most
we cannot use the generic set_up_inc helper.
Simply remove the useless BEGIN block.
Nicolas R [Thu, 14 Sep 2017 20:51:13 +0000 (14:51 -0600)]
tests - Use set_up_inc helper to set @INC
Test plan should not be declared at compile time
Karl Williamson [Fri, 15 Sep 2017 03:58:14 +0000 (21:58 -0600)]
Parenthesize macro arguments to ninstr()
This did not work properly if called if expressions for arguments.
Could someone write a porting test to look for non-parenthesized macro
arguments involved in expressions
Karl Williamson [Mon, 11 Sep 2017 18:30:14 +0000 (12:30 -0600)]
t/run/locale.t: Move function call
I think its better form to call the function after the 'use' statement that
imported the function being called, even though it's available
throughout the enclosing block.
Karl Williamson [Mon, 11 Sep 2017 15:48:33 +0000 (09:48 -0600)]
locale.c: Show how the number '112' was derived
It's unclear why the code uses this number, so expand out the expression
that yields that, which makes it clearer.
Abigail [Wed, 13 Sep 2017 22:17:53 +0000 (00:17 +0200)]
Test for
0e3f4440d849cf8fca676f87e574164e33cf2e13
Commit
0e3f4440d849cf8fca676f87e574164e33cf2e13 fixes issue #131868
by silencing a warning which should not happen. This patch checks
that the warning is not happening.
Yves Orton [Wed, 13 Sep 2017 16:04:43 +0000 (18:04 +0200)]
Fix #131868 - silence quantifier warnings for regex gosub
We check that numerically quantified subpatterns can match something,
so that we can detect things like (){4}. However, we produce false positives
when using regex recursion. This is related to slow-downs in grammar matches
in Perl 5.20 which were fixed by
a51d618a82a7057c3aabb600a7a8691d27f44a34.
In an ideal world we would do a lot of work and this false-positive would not
happen, but that requires more round tuits than I have available
Yves Orton [Wed, 13 Sep 2017 11:34:17 +0000 (13:34 +0200)]
in hash init code preserve constness
This causes warnings in some our builds as can be seen in some
smoke reports:
zaphod32_hash.h:185:17: warning: cast discards '__attribute__((const))'
qualifier from pointer target type [-Wcast-qual]
Yves Orton [Wed, 13 Sep 2017 11:30:25 +0000 (13:30 +0200)]
avoid 'the address of ... will always evaluate as ...' warns in mem macros
In
f14cf363205 we added asserts to our memory macros (Copy(), Zero() etc)
to ensure that the target is non-null. These asserts throw warnings like
perl.c: In function ‘Perl_eval_sv’:
perl.c:2976:264: warning: the address of ‘myop’ will always evaluate
as ‘true’ [-Waddress]
Zero(&myop, 1, UNOP);
which is annoying. This patch changes how these asserts are coded so
we avoid the warning. Thanks to Zefram for the fix.
Dagfinn Ilmari Mannsåker [Mon, 11 Sep 2017 15:55:17 +0000 (16:55 +0100)]
Check for Unicode replacement character in t/porting/podcheck.t
Pod::Simple replaces bytes that aren't valid according to the
document's encoding (declared or auto-detected) \N{REPLACEMENT
CHARACTER}, so catch that.
Dagfinn Ilmari Mannsåker [Mon, 11 Sep 2017 15:51:28 +0000 (16:51 +0100)]
Fix misplaced =back in t/porting/podcheck.t
The list of pedantic checks was mistakenly nested inside the last
mandatory check.
Dagfinn Ilmari Mannsåker [Mon, 11 Sep 2017 15:53:50 +0000 (16:53 +0100)]
Fix Windows-1252 em-dashes in latest epigraphs
Dagfinn Ilmari Mannsåker [Mon, 11 Sep 2017 14:49:32 +0000 (15:49 +0100)]
perldelta for
ae2cf9f6 and
f6107ca2
Tony Cook [Mon, 11 Sep 2017 05:28:55 +0000 (15:28 +1000)]
perldelta for
9c6681cc159f
Jarkko Hietaniemi [Mon, 11 Sep 2017 04:53:23 +0000 (07:53 +0300)]
Not jhi, lwall.
https://perl5.git.perl.org/perl.git/commitdiff/
c529f79d594c53d3968d464c57ac24a21137dd09
https://perl5.git.perl.org/perl.git/commitdiff/
c529f79d594c53d3968d464c57ac24a21137dd09#patch68
Tony Cook [Mon, 11 Sep 2017 04:48:21 +0000 (14:48 +1000)]
[perl #127663] safer in-place editing
Tony Cook [Tue, 15 Aug 2017 23:17:25 +0000 (09:17 +1000)]
(perl #127663) fallback to looking for work file if st_ino unusable
Tony Cook [Wed, 12 Jul 2017 04:25:32 +0000 (14:25 +1000)]
(perl #127663) reject a changed directory for relative in-place filenames
based in the inode/device numbers when we don't have the *at()
functions.
Tony Cook [Thu, 12 Jan 2017 02:52:04 +0000 (13:52 +1100)]
(perl #127663) test we fail if the work file can't be renamed
and ensure we (attempt to) clean up the work file
Tony Cook [Thu, 12 Jan 2017 02:51:01 +0000 (13:51 +1100)]
(perl #127663) test we fail if the backup rename fails
and that we clean up the temp file
Tony Cook [Thu, 12 Jan 2017 00:02:52 +0000 (11:02 +1100)]
(perl #127663) clean up any files left behind
The rename work file test will leave the work file, if the other tests
fail for some reason they might also leave files.
Tony Cook [Wed, 11 Jan 2017 23:58:58 +0000 (10:58 +1100)]
(perl #127663) don't do inplace renaming etc in child processes
This avoids trying to rename the work file over the original
multiple times, which could make the implicit (or explicit) close
fail.
This is an incompatibility with the pre-workfile version of in-place
editing, since you could previously fork a child to do process a
given file, but hopefully this is a rare case.
Tony Cook [Wed, 11 Jan 2017 23:26:47 +0000 (10:26 +1100)]
(perl #127663) don't do inplace renaming etc in child threads
This also avoids double closedir()ing the directory handle.
Tony Cook [Mon, 9 Jan 2017 06:02:38 +0000 (17:02 +1100)]
(perl #127663) test chdir() within an in-place edit loop
Tony Cook [Mon, 12 Dec 2016 22:03:08 +0000 (09:03 +1100)]
(perl #127663) use *at() functions to handle perl code that chdirs
Unfortunately this means systems that don't have the *at() functions
aren't protected from code that chdir()s in the middle of in-place
editing a file.
Tony Cook [Mon, 12 Dec 2016 03:26:30 +0000 (14:26 +1100)]
add probes for openat, unlinkat, renameat, linkat and fchmodat
Tony Cook [Wed, 7 Dec 2016 22:38:55 +0000 (09:38 +1100)]
(perl #127663) provide limited control for the internal drand48()
perl can be built without PERL_INTERNAL_RAND_SEED support to reduce
it's attack surface.
Tony Cook [Tue, 2 Aug 2016 06:05:22 +0000 (16:05 +1000)]
(perl #127663) test that die/exit leave the original file
Tony Cook [Wed, 3 Aug 2016 04:43:59 +0000 (14:43 +1000)]
(perl #127663) discard any output if not closed properly
It can be closed by either iterating to the next file, or by
an explicit close(ARGVOUT);
Tony Cook [Mon, 23 May 2016 23:06:18 +0000 (09:06 +1000)]
(perl #127663) add more in-place edit tests
test that setuid is preserved with nested in-place editing, which
fails previously.
Tony Cook [Thu, 19 May 2016 05:22:32 +0000 (15:22 +1000)]
(perl #127663) all platforms no longer require a backup file
Platforms that disallow deleting an open file, like Win32, Cygwin,
previously required a backup extension (defaulted for Cygwin), but
since we now write to a work file that's no longer necessary (but
might still be desirable.)
Tony Cook [Wed, 11 Jan 2017 03:49:53 +0000 (14:49 +1100)]
(perl #127663) safer in-place editing
Previously in-place editing opened the file then immediately
*replaced* the file, so if an error occurs while writing the output,
such as running out of space, the content of the original file is lost.
This changes in-place editing to write to a work file which is renamed
over the original only once the output file is successfully closed.
It also fixes an issue with setting setuid/setgid file modes for
recursive in-place editing.
Tony Cook [Thu, 4 Aug 2016 04:34:21 +0000 (14:34 +1000)]
(perl #127663) only test renaming directories with rename() available.
Perl's rename implementation falls back to link() to rename when
rename() isn't available, which is either disallowed or dangerous.
Tony Cook [Thu, 4 Aug 2016 04:30:13 +0000 (14:30 +1000)]
(perl #127663) add our own mkstemp() implementation
Needed to generate temp files for safer in-place editing.
Not based on any particular implementation, the BSD implementations
tend to be wrappers around a megafunction that also does a few variations
of mkstemp() and mkdtemp(), which we don't need (yet.)
This might also be useful as a replacement for broken mkstemp()
implementations that use a mode of 0666 when creating the file, though
we'd need to add Configure probing for that.
Tony Cook [Wed, 18 May 2016 05:03:14 +0000 (15:03 +1000)]
(perl #127663) create a separate random source for internal use
and use it to initialize hash randomization and to innoculate against
quadratic behaviour in pp_sort
Steve Hay [Sun, 10 Sep 2017 15:54:31 +0000 (16:54 +0100)]
Add epigraphs for 5.24.3-RC1 and 5.26.1-RC1
Steve Hay [Sun, 10 Sep 2017 14:09:34 +0000 (15:09 +0100)]
5.24.3-RC1 and 5.26.1-RC1 today
Steve Hay [Sun, 10 Sep 2017 12:18:50 +0000 (13:18 +0100)]
Tony Cook [Thu, 27 Jul 2017 00:12:02 +0000 (10:12 +1000)]
(perl #131665) avoid a buffer overflow in a buffer we didn't need
since Lookup() treats its argument as NUL or '=' terminated.
Previously environment variable names longer than the size of the
buffer would result in a buffer overflow.
Karl Williamson [Fri, 25 Aug 2017 17:33:58 +0000 (11:33 -0600)]
PATCH: [perl #131598]
The cause of this is that the vFAIL macro uses RExC_parse, and that
variable has just been changed in preparation for code after the vFAIL.
The solution is to not change RExC_parse until after the vFAIL.
This is a case where the macro hides stuff that can bite you.
Karl Williamson [Wed, 21 Jun 2017 17:33:37 +0000 (11:33 -0600)]
regcomp [perl #131582]
Yves Orton [Sun, 10 Sep 2017 09:25:18 +0000 (11:25 +0200)]
reduce error surface of reginsert, set flags to 0 for inserted node
this means that callers do not have to worry about resetting the flags,
which reduces the chance of error in using reginsert.
Yves Orton [Sun, 10 Sep 2017 08:59:05 +0000 (10:59 +0200)]
fix #132017 - OPFAIL insert needs to set flags to 0
why reginsert doesnt do this stuff I dont know.
Karl Williamson [Sun, 10 Sep 2017 04:36:37 +0000 (22:36 -0600)]
util.c: Add comments
Better describe my_strftime(), and indicate authorship of long comment
that has a bunch of 'I' statements.
Karl Williamson [Mon, 28 Aug 2017 19:53:45 +0000 (13:53 -0600)]
sv.c: Use modern macro names
This used older names for some locale functions, that have been
superseded by more meaningful ones.
Karl Williamson [Thu, 10 Aug 2017 21:27:15 +0000 (15:27 -0600)]
utf8.c: Use mnemonic for repeatedly used number