This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Karl Williamson [Tue, 24 Apr 2018 22:47:58 +0000 (16:47 -0600)]
regen/mk_PL_charclass.pl: Revamp
The change in 5.28 to having precompiled Unicode properties leaves this
program with a chicken-and-egg problem. Prior to this commit, it used
those properties to construct its output, relying on them to be using
the latest Unicode data, but the code that generates the tables from
that data uses the output of this program, with potentially disastrous
results.
This commit changes to use the data itself, through Unicode::UCD.
Karl Williamson [Tue, 24 Apr 2018 21:30:05 +0000 (15:30 -0600)]
regen/mk_PL_charclass.pl: sort output table
This makes it easier to verify that future commits don't change
anything.
Karl Williamson [Tue, 1 May 2018 22:11:39 +0000 (16:11 -0600)]
numeric.c: White-space only
Outdent after the previous commit removed an enclosing block
Karl Williamson [Tue, 1 May 2018 20:23:23 +0000 (14:23 -0600)]
grok_atoUV: allow non-C strings and document
This changes the internal function grok_atoUV() to not require its input
to be NUL-terminated. That means the existing calls to it must be
changed to set the ending position before calling it, as some did
already.
This function is recommended to use in a couple of pods, but it wasn't
documented in perlintern. This commit does that as well.
Karl Williamson [Mon, 30 Apr 2018 16:46:01 +0000 (10:46 -0600)]
Create my_atof3()
This is like my_atof2(), but with an extra argument signifying the
length of the input string to parse. If that length is 0, it uses
strlen() to determine it.
Then my_atof2() just calls my_atof3() with a zero final parameter.
And this commit just uses the bulk of the current my_atof2() as the core
of my_atof3(). Changes were needed however, because it relied on
NUL-termination in a number of places.
This allows one to convert a string that isn't necessarily
NUL-terminated to an NV.
Karl Williamson [Mon, 30 Apr 2018 17:48:46 +0000 (11:48 -0600)]
embed.fnc: Fix my_atof2() entry
This was using the incorrect formal parameter name. It did not generate
an error because the function declares a variable with the incorrect
name, so that this was actually asserting on the wrong thing.
Sawyer X [Sat, 23 Jun 2018 23:52:23 +0000 (01:52 +0200)]
Bump version to 5.29.0 and regenerate everything
Sawyer X [Sat, 23 Jun 2018 23:07:02 +0000 (01:07 +0200)]
new perldelta for 5.29.0
Sawyer X [Sat, 23 Jun 2018 02:19:08 +0000 (20:19 -0600)]
Add per5280delta.pod to MANIFEST
Sawyer X [Sat, 23 Jun 2018 02:13:37 +0000 (20:13 -0600)]
Update release schedule
Sawyer X [Sat, 23 Jun 2018 02:10:54 +0000 (20:10 -0600)]
Update epigraph
Sawyer X [Fri, 22 Jun 2018 22:55:13 +0000 (16:55 -0600)]
Revise inclusion of name and email in Git history
Sawyer X [Fri, 22 Jun 2018 22:43:28 +0000 (16:43 -0600)]
trailing spaces drive me nuts
Sawyer X [Fri, 22 Jun 2018 22:14:22 +0000 (16:14 -0600)]
add new release to perlhist
Sawyer X [Fri, 22 Jun 2018 22:00:12 +0000 (16:00 -0600)]
Updated perldelta
Sawyer X [Fri, 22 Jun 2018 21:47:21 +0000 (15:47 -0600)]
Bump Module-CoreList
James E Keenan [Thu, 21 Jun 2018 02:22:50 +0000 (20:22 -0600)]
Need to add email address in Porting/checkAUTHORS.pl
For author who requested removal from AUTHORS.
Sawyer X [Wed, 20 Jun 2018 20:50:18 +0000 (14:50 -0600)]
Clarify your name and email *will* appear in AUTHORS unless asked:
Neil Bowers and Andreas Koenig spotted that, based on GDPR, we should
clarify to people that their name and email will appear in AUTHORS when
submitting a patch and that it can be removed when asked.
Neil contributed the phrasing.
Sawyer X [Wed, 20 Jun 2018 20:46:25 +0000 (14:46 -0600)]
Removal from AUTHORS based on author's request
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,