This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
James E Keenan [Wed, 20 Jun 2018 16:43:12 +0000 (10:43 -0600)]
Fix lack of closing ] in link.
Per afresh1 on #p5p.
Sawyer X [Tue, 19 Jun 2018 21:16:50 +0000 (15:16 -0600)]
Documenting epigraph
Sawyer X [Tue, 19 Jun 2018 21:15:04 +0000 (15:15 -0600)]
Update META files
Sawyer X [Tue, 19 Jun 2018 20:51:28 +0000 (14:51 -0600)]
disarm RC4 bump
Sawyer X [Tue, 19 Jun 2018 17:12:28 +0000 (11:12 -0600)]
Update META files
Sawyer X [Tue, 19 Jun 2018 17:12:16 +0000 (11:12 -0600)]
bump version to RC4
Sawyer X [Tue, 19 Jun 2018 17:11:27 +0000 (11:11 -0600)]
Add new release to perlhist
Sawyer X [Tue, 19 Jun 2018 15:41:03 +0000 (09:41 -0600)]
Update perldelta for Archive::Tar 2.30
Sawyer X [Tue, 19 Jun 2018 15:36:48 +0000 (09:36 -0600)]
Merge remote-tracking branch 'origin/smoke-me/jkeenan/archive-tar-2.30' into release-5.28.0-RC4
Sawyer X [Tue, 19 Jun 2018 15:34:18 +0000 (09:34 -0600)]
Bump Module::CoreList
Sawyer X [Tue, 19 Jun 2018 15:06:35 +0000 (09:06 -0600)]
Adding epigraph for v5.28.0-RC3
Chris 'BinGOs' Williams [Tue, 19 Jun 2018 14:31:16 +0000 (08:31 -0600)]
Synch with CPAN: Archive::Tar v2.30.
From upstream commit message:
"Skip white_space test on Windows
"Windows will report that 'white_space ' and 'white_space' both
exist, which is obviously a 'feature'"
Sawyer X [Tue, 19 Jun 2018 03:43:16 +0000 (21:43 -0600)]
Merge branch 'blead' of ssh://perl5.git.perl.org/perl into blead
Sawyer X [Tue, 19 Jun 2018 03:42:22 +0000 (21:42 -0600)]
Update META files
Tony Cook [Thu, 24 May 2018 05:07:00 +0000 (15:07 +1000)]
Storable: check PERL_TEST_MEMORY before trying to allocate 2GB of memory
Sawyer X [Mon, 18 Jun 2018 22:48:29 +0000 (16:48 -0600)]
disarm RC3 bump
Sawyer X [Mon, 18 Jun 2018 21:08:10 +0000 (15:08 -0600)]
bump in perldelta too
Sawyer X [Mon, 18 Jun 2018 21:06:28 +0000 (15:06 -0600)]
Bump Module::CoreList
Sawyer X [Mon, 18 Jun 2018 20:29:38 +0000 (14:29 -0600)]
Update META files
Sawyer X [Mon, 18 Jun 2018 20:29:15 +0000 (14:29 -0600)]
bump version to RC3
Sawyer X [Mon, 18 Jun 2018 20:28:38 +0000 (14:28 -0600)]
add new release to perlhist
Sawyer X [Mon, 18 Jun 2018 20:07:58 +0000 (14:07 -0600)]
Add last comment to perldelta
Sawyer X [Mon, 18 Jun 2018 17:46:07 +0000 (11:46 -0600)]
Update Module::CoreList for 5.28.0-RC3
Sawyer X [Wed, 6 Jun 2018 22:09:30 +0000 (00:09 +0200)]
Update epigraph
David Mitchell [Mon, 18 Jun 2018 13:29:09 +0000 (14:29 +0100)]
bump Maintainers.pl entry for Archive-Tar
2.26 -> 2.28 after recent pull.
Smylers [Thu, 7 Jun 2018 15:26:12 +0000 (16:26 +0100)]
perldelta headings without full stops
Most of the headings don't end with full stops (even when they are
complete sentences), so remove the full stops from the few that do, so
they all follow the same style
Smylers [Thu, 7 Jun 2018 15:21:11 +0000 (16:21 +0100)]
Clarify that /({...)/ is deprecated
Previously this was just a noun phrase, describing the thing that is
deprecated. Turn that into a statement, explicitly saying it is
deprecated.
Admittedly, the noun phrase is in a section headed ‘Deprecations’, but
some of the items in the list are about changes to deprecations, and
everything else in the list is a full sentence, so make this be one too.
Smylers [Thu, 7 Jun 2018 15:17:33 +0000 (16:17 +0100)]
Document delete %hash{key} return value
cc0776d64 introduced delete on key-value hash slices. That intuitively
returns a list of key- value pairs, which is two elements per specified
hash key. Update the docs to reflect this.
Smylers [Thu, 7 Jun 2018 15:06:28 +0000 (16:06 +0100)]
Pod fix: Escape / inside L</>
When linking to a section name that contains a literal slash, podchecker
complains.
In practice this isn't ambiguous (the first slash separates the page name
from the section name, and everything after that, including subsequent
slashes, must be the section name) and the link was working on MetaCpan.
But since podcheck complains, it seems safer to fix this.
Smylers [Thu, 7 Jun 2018 15:05:40 +0000 (16:05 +0100)]
Clarify key-value slices are of hashes
For somebody reading the perldelta without context, make it clear that the
‘key/value’ slices that are mentioned are hash slices, with a link to
their documentation.
David Mitchell [Mon, 18 Jun 2018 13:00:04 +0000 (14:00 +0100)]
Update Archive-Tar to CPAN version 2.28
[DELTA]
+- fix creating file with trailing whitespace on filename - fixes 103279
+- allow archiving with absolute pathnames - fixes 97748
+- small POD fix
+- Speed up extract when archive contains lots of files
+- CVE-2018-12015 directory traversal vulnerability [RT#125523]
David Mitchell [Wed, 6 Jun 2018 19:23:11 +0000 (20:23 +0100)]
run Porting/makemeta
Don't know why this needs doing, but t/porting/regen.t was failing:
not ok - Porting/makemeta META.json
and this seems to fix it.
Sawyer X [Wed, 6 Jun 2018 12:35:11 +0000 (15:35 +0300)]
disarm RC2 bump
Sawyer X [Wed, 6 Jun 2018 06:24:34 +0000 (09:24 +0300)]
bump date
Sawyer X [Wed, 6 Jun 2018 06:24:05 +0000 (09:24 +0300)]
Regen acknowledgement
Sawyer X [Wed, 6 Jun 2018 06:14:07 +0000 (09:14 +0300)]
Properly bump Module::CoreList
Sawyer X [Wed, 6 Jun 2018 06:08:10 +0000 (09:08 +0300)]
Correct date of release
Sawyer X [Wed, 6 Jun 2018 06:07:13 +0000 (09:07 +0300)]
Bump again
Sawyer X [Tue, 5 Jun 2018 20:10:42 +0000 (23:10 +0300)]
Fix new version in perlhist
Vitali Peil [Tue, 5 Jun 2018 05:51:13 +0000 (07:51 +0200)]
fix version numbers in perldelta's description
Sawyer X [Tue, 5 Jun 2018 17:00:50 +0000 (20:00 +0300)]
Update Module::CoreList for 5.28.0-RC2
Sawyer X [Sat, 26 May 2018 14:10:13 +0000 (17:10 +0300)]
Update META files
Sawyer X [Sat, 26 May 2018 14:09:48 +0000 (17:09 +0300)]
bump version to RC2
Sawyer X [Sat, 26 May 2018 14:05:43 +0000 (17:05 +0300)]
add new release to perlhist
David Mitchell [Tue, 29 May 2018 12:17:58 +0000 (13:17 +0100)]
perldelta tweaks
Improve some descriptions, eliminate some entries for changes which were
later reverted or for bugs which only appeared and were fixed within the
5.27.x development cycle; and wrap some long lines.
SHIRAKATA Kentaro [Thu, 24 May 2018 19:49:16 +0000 (04:49 +0900)]
more link to RT
David Mitchell [Mon, 28 May 2018 14:54:57 +0000 (15:54 +0100)]
revert perl_run() 0 -> 256 return mapping
RT #133220
This commit partially reverts v5.27.6-180-g0301e89953.
That commit changed the return values of perl_parse() and perl_run()
so that an exit(0) wouldn't return 0 (which indicates a normal finish)
and instead return 0x100, which a indicates non-normal return, but with
a value which if used as an 8-bit process exit value on UNIX, has the
modulo value of 0.
However, it turns out that perl_run() (via S_run_body()) does a my_exit(0)
rather than just running to completion. So it turns out that it's not
possible to distinguish between perl code finishing normally, and perl
code doing exit(0).
This broke code which embedded perl and expected perl_run() to return 0
on normal completion.
It may be possible to fix this by getting S_run_body() to not call
my_exit(0), but that's too unpredictable change while we're at -RC1.
So just revert the new perl_run() 0x100 behaviour for now.
James E Keenan [Thu, 24 May 2018 19:42:35 +0000 (15:42 -0400)]
Excessively long line made t/porting/podcheck.t unhappy.
Steve Hay [Thu, 24 May 2018 12:37:04 +0000 (13:37 +0100)]
Update information on which gcc versions are supported on Windows
See [perl #128631] (MinGW with runtimes >= 3.21 currently don't work) and
[perl #132955] (MinGW 3.4.5 and 4.7.2+ and MinGW64 x64 6.3.0+ currently
don't work in C++ mode).
Daniel Dragan [Tue, 24 Apr 2018 18:12:46 +0000 (14:12 -0400)]
fix Mingw GCC C++ build errors PL_inf/PL_nan
Trying a USE_CPLUSPLUS=define build with dmake (USE_CPLUSPLUS not
implemented in GNUMakefile) causes the following error
---------
gcc -c -xc++ -I.\include -I. -I.. -DWIN32 -DPERLDLL -DPERL_CORE -s -O2 -fwrapv -
fno-strict-aliasing -DPERL_EXTERNAL_GLOB -DPERL_IS_MINIPERL -omini\globals.o ..
\globals.c
In file included from ..\globals.c:32:0:
..\perl.h:6754:50: error: too many initializers for 'U8 [8] {aka unsigned char [
8]}'
INFNAN_U8_NV_DECL PL_inf = { { LONGDBLINFBYTES } };
^
..\perl.h:6790:50: error: too many initializers for 'U8 [8] {aka unsigned char [
8]}'
INFNAN_U8_NV_DECL PL_nan = { { LONGDBLNANBYTES } };
^
dmake: Error code 129, while making 'mini\globals.o'
---------
in plain C mode builds, this error was just a warning and nobody paid
attention to it for a while
---------
gcc -c -I.\include -I. -I.. -DWIN32 -DPERLDLL -DPERL_CORE -s -O2 -fwrapv -fno-s
trict-aliasing -DPERL_EXTERNAL_GLOB -DPERL_IS_MINIPERL -omini\globals.o ..\glob
als.c
In file included from ..\globals.c:32:0:
..\perl.h:5432:42: warning: excess elements in array initializer
#define INFNAN_U8_NV_DECL EXTCONST union { U8 u8[NVSIZE]; NV nv; }
^
..\perl.h:6754:1: note: in expansion of macro 'INFNAN_U8_NV_DECL'
INFNAN_U8_NV_DECL PL_inf = { { LONGDBLINFBYTES } };
^
..\perl.h:5432:42: warning: (near initialization for 'PL_inf.u8')
#define INFNAN_U8_NV_DECL EXTCONST union { U8 u8[NVSIZE]; NV nv; }
^
..\perl.h:6754:1: note: in expansion of macro 'INFNAN_U8_NV_DECL'
INFNAN_U8_NV_DECL PL_inf = { { LONGDBLINFBYTES } };
^
..\perl.h:5432:42: warning: excess elements in array initializer
#define INFNAN_U8_NV_DECL EXTCONST union { U8 u8[NVSIZE]; NV nv; }
^
-------------
Now on VC C++ build, LONGDBLINFBYTES is 8 bytes, as defined in
LONGDBLINFBYTES macro in config_H.vc, and for VC, "long double" is always
typedefed by the CC to "double", so there was no warning, but on GCC,
"long double" is the 80 bit/10 byte type and in config_H.gc the 12 byte
version of INF is inside LONGDBLINFBYTES macro. Because LONG_DOUBLESIZE
define was previously "8" because of makefile logic regardless of CC,
# elif NVSIZE == LONG_DOUBLESIZE && defined(LONGDBLINFBYTES)
INFNAN_U8_NV_DECL PL_inf = { { LONGDBLINFBYTES } };
was being hit on GCC, even though NVSIZE is 8 as it should be, but
LONGDBLINFBYTES was 12. Hence the warning. I didnt research why this
warning on GCC didn't cause test failures. Perhaps full perl recomputes
the correct initializer in config_sh.PL and doesn't rely on what was in the
miniperl initializer for PL_inf.
To fix things, always emit the correct value for LONG_DOUBLESIZE and dont
hardcode it at 8 for miniperl. 8 must stay for all VCs, and 12/16 is for
GCC. Although GNUMakefile doesn't support a USE_CPLUSPLUS build option,
it has provisons to support it one day. To keep things in sync, copy
miniperl config.h append changes from makefile.mk to GNUMakefile. Also
collapse 2 shell cmd lines in "ifeq ($(USE_LONG_DOUBLE),define)" to reduce
number of proc launches of cmd.exe by the maketool (perf issue).
Next C++ build issue.
APItest.xs: In function 'void XS_XS__APItest__Backrefs_Comctl32Version(Perl
Interpreter*, CV*)':
APItest.xs:6806:37: error: cast from 'LPSTR {aka char*}' to 'WORD {aka shor
t unsigned int}' loses precision [-fpermissive]
MAKEINTRESOURCE(VS_FILE_INFO));
^
dmake: Error code 129, while making 'APItest.o'
VS_FILE_INFO is internally "RT_VERSION" which is MAKEINTRESOURCE(16). The
output type of MAKEINTRESOURCE is a char *. GCC complains about casting
that char * back down to a WORD (aka short). Put in a size_t used for
pointer arithimitic to silence the error. Another option is to
remove the outer MAKEINTRESOURCE in APItest.xs since RT_VERSION has
MAKEINTRESOURCE internally, but that assumes implementation details of
headers so pick the less dependency on header design option.
Sawyer X [Wed, 23 May 2018 13:47:46 +0000 (16:47 +0300)]
Add link to release for epigraph
Sawyer X [Wed, 23 May 2018 13:37:37 +0000 (16:37 +0300)]
perldelta: Clarify we refer to perl -i in in-place editing
Sawyer X [Wed, 23 May 2018 13:35:37 +0000 (16:35 +0300)]
perldelta: Remove mention of reverted change
Aaron Crane [Tue, 22 May 2018 08:23:58 +0000 (09:23 +0100)]
perldelta: convert all RT ticket references to links
Aaron Crane [Tue, 22 May 2018 08:12:47 +0000 (09:12 +0100)]
Minor edits to perldelta
- Delete some mentions of bugs that were both introduced and fixed in the
5.27.x series
- Fix a POD infelicity
- Add one word for clarity
Karl Williamson [Mon, 21 May 2018 19:26:58 +0000 (13:26 -0600)]
Fixes for perldelta
This commit makes some changes to perldelta.
1) Reorders some sections so that a new feature is presented before
being referred to.
2) Typos
3) Confused wording
4) =head text should all be on the same line
5) script runs are experimental
David Mitchell [Mon, 21 May 2018 15:26:10 +0000 (16:26 +0100)]
update with perl527*delta removal
Update a few build files so that they know that the perl527*delta.pod
files no longer exist.
Sawyer X [Mon, 21 May 2018 13:54:21 +0000 (16:54 +0300)]
Remove 5.27.x perldelta files
Sawyer X [Mon, 21 May 2018 13:42:02 +0000 (16:42 +0300)]
Regen META files
Sawyer X [Mon, 21 May 2018 13:25:41 +0000 (16:25 +0300)]
Adding epigraph, correct previous
Sawyer X [Mon, 21 May 2018 12:52:19 +0000 (15:52 +0300)]
disarm RC1 bump
Sawyer X [Mon, 21 May 2018 10:50:38 +0000 (13:50 +0300)]
Update META files
Sawyer X [Mon, 21 May 2018 10:50:13 +0000 (13:50 +0300)]
bump version to RC1
Sawyer X [Mon, 21 May 2018 10:49:21 +0000 (13:49 +0300)]
Update perlhist for 5.28.0-RC1
Sawyer X [Mon, 21 May 2018 10:44:16 +0000 (13:44 +0300)]
Finally
Sawyer X [Mon, 21 May 2018 09:19:57 +0000 (12:19 +0300)]
Finalize perldelta
Sawyer X [Mon, 21 May 2018 08:47:26 +0000 (11:47 +0300)]
Update Module::CoreList for 5.28.0
Sawyer X [Sun, 20 May 2018 16:08:46 +0000 (19:08 +0300)]
Remove symlink and MANIFEST entry
Sawyer X [Sun, 20 May 2018 15:38:08 +0000 (18:38 +0300)]
Fixes for 5.28.0
Sawyer X [Sun, 20 May 2018 15:37:59 +0000 (18:37 +0300)]
Merged all perldeltas for 5.28.0
Sawyer X [Mon, 14 May 2018 20:48:21 +0000 (23:48 +0300)]
Update Module::CoreList for 5.28.0-RC1
Sawyer X [Mon, 14 May 2018 20:36:48 +0000 (23:36 +0300)]
Update perlpolicy for 5.28.0
Karl Williamson [Sun, 13 May 2018 03:58:56 +0000 (21:58 -0600)]
regcomp.c: White space only
Indent code that now has a newly formed block around it.
Karl Williamson [Sun, 13 May 2018 03:40:02 +0000 (21:40 -0600)]
regcomp.c: Avoid a panic on malformed qr/\N{..}/i
Input constructs that expand to more than one character are handled very
very specially when they occur within a bracketed character class. What
happens effectively is that they are removed from the class and parsed
separately, using the regular code in regcomp.c to generate something
like a trie for them. The other characters within the class are handled
normally.
The specially handled stuff is parsed from a separate string. In the
case where that stuff is of the form \N{U+...}, I neglected to
adequately consider that the syntax could trigger an error. When such
an error is raised, it can violate our assumptions about the state of
things, and lead to a panic.
THe code actually parses the construct twice. The first time while
deciding if this expands to multiple characters (so that it can be
separated out), and the second time to actually figure out and return
the expansion. This commit fixes the bug by adding error checking
during the first pass. Previously, the minimal amount of work was done
to be able to find the count of characters in the expansion. Now, more
work is done to do the checking, as we go along with the counting. This
actually results in less special case code needing to be executed, so
there is a net code removal from this commit.
Karl Williamson [Sun, 13 May 2018 04:20:33 +0000 (22:20 -0600)]
PATCH: [perl #133194] Heap buffer overflow
On debugging builds, the code in the ticket instead fails an assert. I
thought I had previous failures figured out, but it turns out I was
wrong. To prevent potential security failures by going ahead and
printing memory known to be outside what we are expecting on
non-debugging builds, instead panic.
This doesn't fix the underlying problem of how we came to be trying to
output bad stuff, but it keeps all such cases from being security
bugs.
Karl Williamson [Tue, 8 May 2018 18:13:18 +0000 (12:13 -0600)]
PATCH: [perl #133185] Infinite loop in qr//
This loop was inadvertently introduced as part of patches to fix
(perl #132227 CVE-2018-6797] heap-buffer-overflow". The commit in 5.27
responsible was
f8fb8615ddc5a80e3bbd4386a8914497f921b62d.
To be vulnerable, the pattern must start out as /d (hence no use 5.012
or higher), and then there must be something that implicitly forces /u
(which the \pp does in the test case added by this patch), and then
(?aa), and then the code point \xDF. (German Sharp S). The /i must be
in effect by the time the DF is encountered, but it needn't come in the
(?aa) which the test does.
The problem is that the conditional that is testing that we switched
away from /d rules is assuming that this happened during the
construction of the current EXACTFish node. The comments I wrote
indicate this assumption. But this example shows that the switch can
come before this node started getting constructed, and so it loops.
The patch explicitly saves the state at the beginning of this node's
construction, and only retries if it changed during that construction.
Therefore the next time through, it will see that it hasn't changed
since the previous time, and won't loop.
Karl Williamson [Sun, 6 May 2018 08:27:01 +0000 (02:27 -0600)]
PATCH: [perl # 133179] heap-buffer-overflow write
The code did not consider the case of a trailing slash with no
denominator following it. Simply add a check.
Karl Williamson [Tue, 1 May 2018 17:51:19 +0000 (11:51 -0600)]
Work around for [perl $133136]
This commit is a blatant kludge to work around a failing test in
Lexical::SealRequireHints. The test is wrong, checking for an internal
detail that has changed.
This commit adds a conditional for the exact input that's failing, and
if found, uses the old method, so the test passes.
The failing input is the regex pattern
foo\p{Alnum}
'foo' is unlikely to be found in practice outside of .t files, and
this particular pattern rarely even in those. So this should not slow
down real production code.
David Mitchell [Wed, 9 May 2018 09:54:55 +0000 (10:54 +0100)]
Revert "set PERL_EXIT_DESTRUCT_END in all embeddings"
This reverts commit
8e920bd341e241f50a74dbf8aa343319f204e200.
Also skip the tests in t/op/blocks.t
RT #132863
8e920bd341 sets the PERL_EXIT_DESTRUCT_END flag on non-UNIXy platforms,
like is already done on UNIXy platforms. This makes things like
BEGIN { exit(1) } call END blocks on those platforms (like they already
do on UNIX).
But it caused problems with win32 pseudo-forks, so revert for 5.28
and re-address the issues sometime later.
David Mitchell [Wed, 9 May 2018 12:52:50 +0000 (13:52 +0100)]
t/op/blocks.t: indent 6 tests in a new skip block
Apart from the whitespace change, this just wraps 6 tests in
a SKIP: { ... } block which isn't (yet) used.
David Mitchell [Wed, 9 May 2018 12:49:14 +0000 (13:49 +0100)]
t/op/blocks.t: consolidate VMS-skips together
Put the three tests skipped under VMS together into a single SKIP
block rather than 3 separate skips.
As well as being tidier, as a side effect, it makes 6 tests contiguous
that are shortly to be skipped under win32,
David Mitchell [Wed, 9 May 2018 12:35:42 +0000 (13:35 +0100)]
t/op/blocks.t: add some whitespace
Makes the tests a bit easier to read.
Gene Sullivan [Sat, 5 May 2018 02:17:25 +0000 (22:17 -0400)]
perlretut correction: 'qw' should be inside parens
RT #133172
David Mitchell [Fri, 11 May 2018 07:03:42 +0000 (08:03 +0100)]
fix build failure with recent glibc
RT #133184
pp_crypt() directly manipulates a field inside 'struct crypt_data' to work
around a bug in an ancient glibc version from circa 2002. New glibc
releases don't have this field so perl fails to compile. Make the hack
conditional on glibc version.
Stolen from a patch to the Fedora 28 distribution.
Karl Williamson [Sat, 5 May 2018 03:26:31 +0000 (21:26 -0600)]
PATCH: [perl #133175] script run free from wrong pool panic
Setting the pointer to NULL after freeing signals the code in later
interations that it has been freed already
No test is added because it could become outdated (not testing what it
was designed to test) with a new Unicode version changing the underlying
data. This bug was discovered by testing on Unicode 7.0, and the data
changed so that there was not a problem by Unicode 10.0.
David Mitchell [Mon, 7 May 2018 16:44:02 +0000 (17:44 +0100)]
fix typo in Artistic
RT #133120
Spotted by Alexandr Savca
Change approved by Makoto Nozaki of TPF
David Mitchell [Tue, 1 May 2018 14:28:49 +0000 (15:28 +0100)]
sprintf2.t: mark TODO bad denorm values under g++
Some t/op/sprintf2.t tests were failing under g++. This is due the perl
toker interpreting very small literal hex floating pointers as 0 rather
than as a subnormal value.
For example:
perl -le'print "bad" if 0x1.fffffffffffffp-1022 == 0.0'
This breaks some of the sprintf2.t tests, so mark them TODO them if the
literal value evaluates to zero.
Note that this is a bug in the toker/g++/glibc rather than sprintf.
The issue is due to the use of pow() in scan_num():
under gcc and plain g++, pow(2.0, -1074) returns the smallest denorm
number; however, under 'g++ -ansi', it returns 0.0.
James E Keenan [Thu, 26 Apr 2018 20:51:39 +0000 (16:51 -0400)]
Ensure temp directories are cleaned up.
Tux reported that on certain platforms File::Temp::tempdir(CLEANUP => 1) was
not cleaning up after itself properly. Guarantee that this cleanup takes
place in and END block.
Thread:
https://www.nntp.perl.org/group/perl.perl5.porters/2018/04/msg250757.html
Karl Williamson [Sat, 28 Apr 2018 16:18:05 +0000 (10:18 -0600)]
lib/locale.t: TODO some locales on Solaris
There is a bug in Solaris with locales which have a multi-byte decimal
radix character. Make these TODO, like we do cygwin, which has had a
similar problem.
Karl Williamson [Sat, 28 Apr 2018 16:16:08 +0000 (10:16 -0600)]
lib/locale.t: Mark a test problematic
We now have found a system that fails this test. Tests that are listed
as problematic automatically get marked as TODO when they fail with
specified platforms. The next commit will specify the platform that
this is fails on.
Karl Williamson [Thu, 19 Apr 2018 20:43:43 +0000 (14:43 -0600)]
t/run/locale.t: Skip some Solaris locales
Solaris is buggy in dealing with locales that have a multi-byte UTF-8
decimal radix character. Skip using these, like we do on cygwin, which
has a similar problem.
Tomasz Konojacki [Sun, 22 Apr 2018 21:49:59 +0000 (23:49 +0200)]
getcwd() doesn't fail on non-existent directories on DragonFly BSD.
Until it's fixed upstream, we should skip tests that don't expect
this behaviour.
[RT #133141]
Karl Williamson [Wed, 25 Apr 2018 22:28:37 +0000 (16:28 -0600)]
PATCH: [perl #133136] bisect runner
bisect runner is supposed to keep going if the particular revision being
tested fails to compile. But it wasn't.
Nicholas graciously diagnosed the problem. When the enhancement for
testing when a module got broken, the code to do so was placed before
the check to see if the build for this revision crashed. It's simply a
matter of moving that module code to after that check.
Daniel Dragan [Sat, 28 Apr 2018 01:09:49 +0000 (21:09 -0400)]
utf8.c: use TRUE not true
"true" token was added in commit
394d2d3f37 but "true" is C++ and C99,
"TRUE" is portable perl API
Win32 VC 2003 C mode (C89) build faiure
..\utf8.c(6177) : error C2065: 'true' : undeclared identifier
Steve Hay [Sat, 28 Apr 2018 12:56:05 +0000 (13:56 +0100)]
Finally fix C++ build with VS2017
Dodge the "offsetof has a builtin meaning; use /Zc:offsetof- to revert to
old, non-conforming definition" error when compiling Socket.xs by reverting
to an old definition of STRUCT_OFFSET for that compiler.
David Mitchell [Fri, 27 Apr 2018 09:35:09 +0000 (10:35 +0100)]
[MERGE] temporarily revert weak in-place sort fix
David Mitchell [Thu, 26 Apr 2018 10:46:22 +0000 (11:46 +0100)]
Revert "Strengthen weak refs when sorting in-place"
This reverts commit
f6107ca24b4cf22dcf7fd69d65612ad718c48fca.
See RT #132142.
For now, re-introduce the bug that fails to convert weak refs to strong
refs when sorting in place.
This is commit 2 of 2.
David Mitchell [Thu, 26 Apr 2018 10:42:54 +0000 (11:42 +0100)]
Revert "Unweaken refs in in-place reverse"
This reverts commit
5bad3c4f3a4515aaa622eecdf6f5a84fcaff7ed9.
See RT #132142.
For now, re-introduce the bug that fails to convert weak refs to strong
refs when sorting in place.
This is commit 1 of 2.
Tony Cook [Thu, 12 Apr 2018 11:11:12 +0000 (21:11 +1000)]
(perl #133030) make utime() available only if we have both fd and name setting
David Mitchell [Tue, 24 Apr 2018 14:07:51 +0000 (15:07 +0100)]
fix linkage of PL_inf/nan under C++
RT #132955
Commit
0879cd66ef3f00 fixed perl to still build under C++ after changes
to PL_inf and PL_nan. Unfortunately this seems to have broken C++ builds
under Windows.
Handle the extern 'C' stuff in a different way - as suggested by Leon T -
that hopefully satisfies all platforms.