This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Daniel Dragan [Sun, 25 Oct 2015 23:31:27 +0000 (19:31 -0400)]
dont install PPPort.so/PPPort.dll
This shared lib is only used for PPPort testing itself, it is similar to
APItest.dll in purpose. PPPort.pm never uses XSLoader/DynaLoader, only its
.t files do. This saves 616KB in the final install dir on Win32, and
atleast one or two dozen KB on all OSes. Since where is auto dir, and what
is arch dir, is complicated and unportable (atleast to me), and what other
files live next to the shared lib (examples, .pdb file, .bs file, .a file)
match the directory fragment, not the files inside of it or the dirs
full path.
Directory of C:\p523\src\lib\auto\Devel\PPPort
10/25/2015 07:16 PM <DIR> .
10/25/2015 07:16 PM <DIR> ..
10/25/2015 07:16 PM 0 .exists
10/25/2015 07:16 PM 59,392 PPPort.dll
10/25/2015 07:16 PM 796 PPPort.exp
10/25/2015 07:16 PM 1,738 PPPort.lib
10/25/2015 07:16 PM 569,344 PPPort.pdb
5 File(s) 631,270 bytes
Jarkko Hietaniemi [Sun, 1 Nov 2015 17:55:49 +0000 (12:55 -0500)]
Workaround for perl #124212: these functions are not true static inline
By "true" I mean that they have prototypes, but no bodies.
So don't declare their prototypes under PERL_NO_INLINE_FUNCTIONS.
After some studying of http://www.greenend.org.uk/rjk/tech/inline.html
it seems like Perl is trying to implement the "simple portable" model.
But the functions listed as failing during porting/extrefs.t in Tru64:
they are neither fish nor fowl. Their prototypes are listed in
proto.h as PERL_STATIC_INLINE (which in Tru64 is "static inline"),
but since the test is built with -DPERL_NO_INLINE_FUNCTIONS,
the function bodies (which would be in inline.h) are not visible.
So they end up being body-less static inline prototypes, which is,
I believe, somewhat of an oxymoron.
The "complicated portable" model might be a more wortwhile longer
term goal: in that, there is no "static inline", and there would be
a new source file, say, inline.c. Now with the "simple portable",
the bodies might end up being compiled multiple times, multiple copies
ending up in different object files, depending on how smart the
compiler/linker is.
Another move could be that maybe there should be no prototypes at all
for inlineables, because having those is kind beside the point. How
well that would work across different compilers is unknown.
Yet another move, perhaps the simplest one, would be to move these
particular functions away from inline.h. But this would be just
dodging the larger problems discussed above.
Lukas Mai [Sun, 1 Nov 2015 12:37:34 +0000 (13:37 +0100)]
restore comma removed by
2f1fe8a307
Lukas Mai [Sat, 31 Oct 2015 19:42:22 +0000 (20:42 +0100)]
fix typo in error message
Steve Hay [Sat, 31 Oct 2015 19:07:14 +0000 (19:07 +0000)]
Add epigraph for 5.22.1-RC1
Steve Hay [Sat, 31 Oct 2015 14:45:43 +0000 (14:45 +0000)]
Perl 5.22.1-RC1 today
Steve Hay [Sat, 31 Oct 2015 14:18:27 +0000 (14:18 +0000)]
Module::CoreList updates for 5.22.1
Craig A. Berry [Sat, 31 Oct 2015 01:58:15 +0000 (20:58 -0500)]
Remove redundant code in configure.com
These lines were made redundant by
054a3baf7ca16fe02 so are just
taking up space.
Jarkko Hietaniemi [Fri, 30 Oct 2015 22:25:51 +0000 (18:25 -0400)]
make regen for uconfig.h
Jarkko Hietaniemi [Fri, 30 Oct 2015 21:50:42 +0000 (17:50 -0400)]
Revert "Remove unused filesystem stat symbols."
This reverts commit
821805a244cacd9869331999cd53407f3323206a.
What's out, is out.
perl #107904 Filesys-Df
perl #108189 Filesys-DfPortable
perl #108191 Filesys-Statvfs
perl #126368 Filesys-DfPortable
Karl Williamson [Wed, 21 Oct 2015 23:04:20 +0000 (17:04 -0600)]
perlre: Nits
This mostly adds C<> formatting, but there are a few updates,
clarifications, and grammar-type fixes.
Karl Williamson [Fri, 30 Oct 2015 04:07:11 +0000 (22:07 -0600)]
PATCH: [perl #126481] panic for !! with syntax error in /(?[...])/
This is fixed by not putting two adjacent '!' operators on the stack.
These are the only right-associative operators in the grammar, and they
just cancel each other out.
Ricardo Signes [Fri, 30 Oct 2015 12:17:15 +0000 (08:17 -0400)]
Carp: CPAN release 1.37_02
Ricardo Signes [Thu, 29 Oct 2015 20:50:03 +0000 (16:50 -0400)]
Carp: remove prereq on parent.pm
Steve Hay [Thu, 29 Oct 2015 13:54:23 +0000 (13:54 +0000)]
Upgrade Math-BigInt from version 1.999705 to 1.999706
Jarkko Hietaniemi [Wed, 28 Oct 2015 11:56:23 +0000 (07:56 -0400)]
For perl #126468: protect quotes in myccflags.
Fixes a problem introduced by
57d2761b where ccflags contents
with quotes got broken by the quotes getting stripped.
Tony Cook [Thu, 29 Oct 2015 03:13:36 +0000 (14:13 +1100)]
Unicode::Normalize needs CombiningClass.pl
This (typically) worked ok for parallel builds, since U::N is built
very late in the XS extensions build process, but for non-parallel
builds the lack of the dependency could result in a build failure.
Jarkko Hietaniemi [Wed, 28 Oct 2015 12:32:33 +0000 (08:32 -0400)]
Unicode::Normalize no-go with miniperl.
Unicode::Normalize comes in via Unicode::UCD, which comes in e.g.
via uni/case.pl.
Tried using test.pl and its skip_all_if_miniperl() in all cases,
but that leads into weird failures in full 'make test'.
Ruud H.G. van Tol [Wed, 28 Oct 2015 14:04:38 +0000 (14:04 +0000)]
Fix Tie::StdScalar when $instance exists but isn't a 'true' value
Patch received from Ruud H.G. van Tol <rvtol@isolution.nl>.
Committer added ++$VERSION and Porting/checkAUTHORS.pl change.
Ricardo Signes [Wed, 28 Oct 2015 15:18:59 +0000 (11:18 -0400)]
document -O change to Configure
Ivan Pozdeev [Wed, 12 Aug 2015 17:33:12 +0000 (20:33 +0300)]
Make -O behaviour the default
David Mitchell [Tue, 20 Oct 2015 15:29:48 +0000 (16:29 +0100)]
pp_sys.c: silence g++ compiler warning
The warning is harmless but annoying
David Mitchell [Tue, 20 Oct 2015 14:04:49 +0000 (15:04 +0100)]
RT: #126309 die more gracefully on (1) x ~1
Recent improvements to MEXTEND() etc means that the above is now caught and
panics rather than crashing. However, the panic is:
panic: av_extend_guts() negative count (-
9223372036854775681)
which is safe, but not pretty. This commit makes it croak instead with:
Out of memory during stack extend
Basically Perl_stack_grow() adds an extra 128 bytes of headroom to the
amount it actually extends the stack by. Check in stack_grow() itself
whether this has wrapped, rather than leaving it to av_extend_guts(),
which can only give a generic panic message.
Tony Cook [Wed, 28 Oct 2015 03:11:12 +0000 (14:11 +1100)]
fix the non-Win32 build breakage introduced in
ce9582af
On Unix, EU::MM was falling back to EU::MM::version::vpp, which
was removed above.
Make the real version.pm available instead.
Daniel Dragan [Tue, 27 Oct 2015 16:07:51 +0000 (12:07 -0400)]
Win32 parallel build fixes C++
-dmake's parallel scheduler is poor and has problems finding work to run
leading to idle cores, see note in commit
c2c7bda088 about
generate_uudmap.exe target so compile+link perlglob.exe in 1 process run
-remove whitespace from LIBFILES as much as possible while keeping some
prettyness in the makefile. This is so the console isn't flooded as much
with a wall of text as before.
-although perlglob.exe is very small (1 main func, that is it),
add $(OPTIMIZE), it previously wasnt CC optimized at all
-when -xc++ flag is used (USE_CPLUSPLUS=define), the command options
file is compiled like C code and syntax errors, use -x to reset file type
to nothing/auto
g++ -xc++ -I.\include -I. -I.. -DWIN32 -DPERLDLL -DPERL_CORE -s -O2 -DPERL_TEXT
MODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fwrapv -fno-strict-ali
asing -mms-bitfields -o..\generate_uudmap.exe ..\generate_uudmap.c -s -L"c:\per
l\lib\CORE" -L"C:\MinGW\lib" \
C:\Users\Owner\AppData\Local\Temp\mk10
C:\Users\Owner\AppData\Local\Temp\mk10:1:7: error: expected constructor, destruc
tor, or type conversion before '(' token
INPUT ( -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi
32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lvers
ion -lodbc32 -lodbccp32 -lcomctl32 )
^
dmake: Error code 129, while making '..\bitcount.h'
-since makefile.mk does not create perl523.lib during link time of
perl523.dll anymore, to allow parallelism the interface (def file and
.exp/.lib files) between libperl and XS modules is created before libperl
and XS modules are every created, this allows the 2 to build in parallel
and not be dependent on each other. This caused a link failure where an
XS module wanted a C++ mangled perl data symbol, while the def/lib file
only had the extern "C", C named data symbol (unless you take
extraordinary measures, the def/lib file is always extern "C" even if
the symbol is mangled inside C/C++ lang world and for static linking
purpose), so make all data symbols EXTERN_C, not extern, in the headers
link -out:..\..\lib\auto\PerlIO\encoding\encoding.dll -dll -nologo -nodefaultlib
-debug -opt:ref,icf -ltcg -libpath:"c:\perl\lib\CORE"
-machine:x86 "/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Co
ntrols' version='6.0.0.0' processorArchitecture='*' publicKeyToken='
6595b64144cc
f1df' language='*'" -subsystem:console,"5.01" encoding.obj "..\..\lib\CORE\per
l523.lib" oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.l
ib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.
lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.li
b -def:encoding.def
Creating library ..\..\lib\auto\PerlIO\encoding\encoding.lib and object ..\..
\lib\auto\PerlIO\encoding\encoding.exp
encoding.obj : error LNK2001: unresolved external symbol "__declspec(dllimport)
struct _PerlIO_funcs const PerlIO_perlio" (__imp_?PerlIO_perlio@@3U_PerlIO_funcs
@@B)
..\..\lib\auto\PerlIO\encoding\encoding.dll : fatal error LNK1120: 1 unresolved
externals
dmake: Error code 224, while making '..\..\lib\auto\PerlIO\encoding\encoding.dl
l'
-------------------------------------------------------------------------
link -dll -out:..\perl523.dll -nologo -nodefaultlib -debug -opt:ref,icf -ltcg
-libpath:"c:\perl\lib\CORE" -machine:x86 "/manifestdependenc
y:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' proces
sorArchitecture='*' publicKeyToken='
6595b64144ccf1df' language='*'" -subsystem:c
onsole,"5.01" \
@Extensions_static \
@C:\Users\Owner\AppData\Local\Temp\mk11
perl523.exp : error LNK2001: unresolved external symbol _PL_interp_size
perl523.exp : error LNK2001: unresolved external symbol _PL_interp_size_5_18_0
perl523.exp : error LNK2001: unresolved external symbol _PerlIO_pending
perl523.exp : error LNK2001: unresolved external symbol _PerlIO_perlio
..\perl523.dll : fatal error LNK1120: 4 unresolved externals
dmake: Error code 224, while making '..\perl523.dll'
With this commit, "dmake all" VC C++ build succeeds to the end, G++ build
won't build until 1 other issue is fixed, I fixed that issue for testing
but it is not in this patch, so only that issue remains preventing a G++
build from running to the end.
Daniel Dragan [Sun, 25 Oct 2015 22:53:13 +0000 (18:53 -0400)]
don't distribute version::vpp/EUMM::version::vpp
version::vpp is not part of the public API of version::, the core
cpan/version/lib/version.pm is not capable of using it unlike the
version.pm on cpan, and the Makefile.PL from cpan version:: that picks
between vpp and vxs isn't in core either. The xsubs behind core version.pm
are permanently baked in universal.c, they arent "static XS" or
"dynamic (shared lib) XS", and no XSLoader/DynaLoader is used. vpp.pm is
therefore useless in blead distributed version:: since vpp.pm is only
useful on very old perls. In blead, vpp only existed for the purpose of
making 00impl-pp.t pass, yet takes up space in the perl tarball, and was
installed into the final install location, so remove vpp.pm to save space
since it is unusable. vpp.pm and the rest of version is developed on
cpan, not in core, and vpp.pm is sort of a devel tool and sanity check and
therefore an author test, and core doesn't include author tests like
pod-coverage.t so that is one other reason it is being removed.
Also remove EUMM's vpp.pm, first it isn't miniperl compatible, and it also
is a copy more or less of version::vpp, and blead perl comes with
version.pm, since it is blead perl and not an old perl. If there is an
accident/error/bad behaviour EUMM::vpp.pm can get loaded
( http://www.nntp.perl.org/group/perl.perl5.porters/2015/10/msg232039.html
), but it is an error for it to ever be loaded. Prevent "silent failure"
by deleteing EUMM::vpp.pm, this way the failure will be an obvious
can't find EUMM::vpp.pm instead of subtle differences between the XS and
PP version implementations, or the not miniperl compatible failure.
Although ExtUtils::MakeMaker::version::regex.pm could be deleted for
the same reasons as EUMM::vpp.pm, I am leaving it in for now until the
EUMM patch in "version PP is not PP" goes through review, but still dont
install it, blead comes with the official version::regex.pm
version::vpp.pm is 22KB
00impl-pp.t is 0.5KB
ExtUtils::MakeMaker::version::vpp.pm is 23KB
ExtUtils::MakeMaker::version::regex.pm is 5KB
The 3 .pm files were being installed into the final installed perl location
where they are useless on blead perl. Some people complain perl core is
too big/bloated (redhat perl), removing 50KB and 3 files from final
location, and 45.5KB and 3 files from the tarball helps to trim the
core.
Jarkko Hietaniemi [Tue, 27 Oct 2015 12:45:28 +0000 (08:45 -0400)]
Also IRIX seems to have NaN comparison issues.
The issues seem to be much harder to trigger (harder than in VC6 or
Tru64, that is), though: the perl #125298 is the only spot where
the problem has surfaced so far. Though see also perl #126396,
with long doubles (the #125298 is with plain doubles).
All tests pass now in IRIX in blead with default config,
including the t/op/infnan.t. With -Duselongdouble nothing
new breaks (known issues with locales and M::BI)
Steve Hay [Tue, 27 Oct 2015 17:38:55 +0000 (17:38 +0000)]
Upgrade Unicode-Normalize from version 1.21 to 1.23
Steve Hay [Tue, 27 Oct 2015 17:37:24 +0000 (17:37 +0000)]
Upgrade Math-BigInt from version 1.999704 to 1.999705
Jarkko Hietaniemi [Tue, 27 Oct 2015 01:38:09 +0000 (21:38 -0400)]
Replace two ugly casts in reg_recode() calls.
With one ugly cast inside the reg_recode() call.
Karl Williamson [Fri, 25 Sep 2015 18:18:33 +0000 (12:18 -0600)]
dist/ExtUtils-CBuilder/t/02-link.t: Skip on os390
This module needs a little work for os390. But until someone
wants/needs to have it done, we'll simply skip the test.
Karl Williamson [Mon, 26 Oct 2015 17:38:53 +0000 (11:38 -0600)]
regen podcheck db
Commit
9846bace45546ab19676c8577ccf9218ddd7931d added some overlong
verbatim lines
Karl Williamson [Sun, 25 Oct 2015 02:06:10 +0000 (20:06 -0600)]
XS-APItest:fetch_pad_names.t: Comments, skip message
Karl Williamson [Sun, 25 Oct 2015 02:11:47 +0000 (20:11 -0600)]
t/re/subst.t: Don't skip a test on EBCDIC
There is no longer any reason to skip this test.
Karl Williamson [Sun, 25 Oct 2015 02:11:13 +0000 (20:11 -0600)]
re/subst.t: Clarify a test's EBCDIC skip message
Karl Williamson [Sun, 25 Oct 2015 02:09:40 +0000 (20:09 -0600)]
re/pat_rt_report.t: Clarify EBCDIC skip msg for a test
Karl Williamson [Sun, 25 Oct 2015 02:08:17 +0000 (20:08 -0600)]
t/op/print.t: Improve EBCDIC skip msg
Karl Williamson [Sun, 25 Oct 2015 02:07:51 +0000 (20:07 -0600)]
t/op/chr.t: Improve EBCDIC skip msg
Karl Williamson [Sun, 25 Oct 2015 02:07:24 +0000 (20:07 -0600)]
t/base/lex.t: Generalize for EBCDIC
Tony Cook [Mon, 26 Oct 2015 04:59:53 +0000 (15:59 +1100)]
[perl #126452] partly
0b057af7 revert for C++ builds
Daniel Dragan [Sun, 25 Oct 2015 23:57:11 +0000 (19:57 -0400)]
XS staticing in ext and dist
None of these symbols are exported on Win32 (listed in Makefile.PL with
EUMM's FUNCLIST), so they shouldn't be exported on Linux. Making them
static saves space in the SOs by removing symbol name strings, and removing
runtime plt/got indirection.
Ricardo Signes [Mon, 26 Oct 2015 01:26:37 +0000 (21:26 -0400)]
Carp: prepare for a new CPAN release
Jerry D. Hedden [Fri, 23 Oct 2015 23:55:17 +0000 (19:55 -0400)]
Upgrade to Thread::Queue 3.07
Committer: Add additional email address for contributor.
Jarkko Hietaniemi [Thu, 22 Oct 2015 12:35:10 +0000 (08:35 -0400)]
hv_iternext can return NULL
Coverity #104801
Jarkko Hietaniemi [Thu, 22 Oct 2015 11:36:56 +0000 (07:36 -0400)]
Ascertain that the fd for fcntl is not negative
Coverity id #45354
Since maxsysfd is I32 Coverity cannot prove that being larger than
it means that the fd is non-negative.
Jarkko Hietaniemi [Thu, 22 Oct 2015 11:31:58 +0000 (07:31 -0400)]
Make FITS_IN_8_BITS() always true under Coverity
Similar in spirit to
3e94db23
Coverity id #28938
Coverity id #104778
Coverity id #131329
Steve Hay [Fri, 23 Oct 2015 07:31:47 +0000 (08:31 +0100)]
Fix the (serial) build with dmake on Windows
The switch to building non-XS modules last in win32/makefile.mk (introduced
by design as part of the changes to enable parallel building) causes the
build of POSIX to break due to problems with the version module.
This change is the simplest of several workarounds/fixes put forward in
the following threads:
http://www.nntp.perl.org/group/perl.perl5.porters/2015/10/msg231903.html
http://www.nntp.perl.org/group/perl.perl5.porters/2015/10/msg232039.html
It appears that the version module could benefit from some work to render
this change unnecessary, but for now it's the least invasive way to
restore the dmake build. Thanks to all for chasing this down.
Karl Williamson [Fri, 25 Sep 2015 18:21:03 +0000 (12:21 -0600)]
lib/ExtUtils/t/Embed.t: Fix for z/OS
Karl Williamson [Wed, 21 Oct 2015 17:47:25 +0000 (11:47 -0600)]
Add test for \b{sb}
It turns out that the merge commit
f0bd363c36d925d8d3dfe3b68715763c850b171a makes \b{sb} work much better,
with the main improvement being by commit
43a7bd62098d36de61176a40d7eb3e72a2b9f033.
We were puzzled as to why it didn't seem to work as advertised, yet
passed all the extensive tests furnished by Unicode. The answer appears
to be that that those tests mostly test pair-wise things, and the bug
was because results were getting overwritten for longer inputs.
This new test is a simple, but long one.
Karl Williamson [Wed, 21 Oct 2015 17:34:47 +0000 (11:34 -0600)]
t/re/pat_advanced.t: Add comment
Karl Williamson [Wed, 21 Oct 2015 04:22:41 +0000 (22:22 -0600)]
pp_hot.c: Add comment
Karl Williamson [Wed, 21 Oct 2015 04:08:30 +0000 (22:08 -0600)]
utf8.h: Change formal macro param name to match docs
Karl Williamson [Thu, 22 Oct 2015 03:30:14 +0000 (21:30 -0600)]
PATCH: [perl #126253] Nested quantifiers not caught
Commit
4fa6dd16d2149c2aeeb32633e3a796d5ebc5b657 added a message
when a quantifier was useless, but then caused the parse to skip it, so
that if it was in an illegal combination, that was no longer caught.
Karl Williamson [Wed, 21 Oct 2015 18:45:46 +0000 (12:45 -0600)]
PATCH: [perl # 126178] Unterminated /(?i/
Chris 'BinGOs' Williams [Wed, 21 Oct 2015 17:58:58 +0000 (18:58 +0100)]
Update Time-Piece to CPAN version 1.31
[DELTA]
1.31 2015-10-20
- No Changes since 1.30_01
1.30_01 2015-09-01
- Ignore some tests on non *nix platforms
- fix compile warnings
- Inherit from Dynaloader (fix static build issues)
- Fix windows mem corruption
Chris 'BinGOs' Williams [Wed, 21 Oct 2015 17:57:07 +0000 (18:57 +0100)]
Module-CoreList is 5.
20151020 on teh CPAN
Peter Rabbitson [Wed, 21 Oct 2015 02:02:19 +0000 (22:02 -0400)]
Carp: fix test not working on older toolchain
The newly introduced _dump() utility function is a faithful
representation of what explain() does in newer Test::More versions
Peter Rabbitson [Wed, 21 Oct 2015 01:58:01 +0000 (21:58 -0400)]
Carp: fix test incorrectly assuming a recent-enough Carp.pm in @INC
James E Keenan [Wed, 21 Oct 2015 01:44:41 +0000 (21:44 -0400)]
Re-run two regen/ programs to clear up test failures in t/porting/regen.t
./perl -Ilib regen/regcharclass.pl
./perl -Ilib regen/mk_invlists.pl
Jarkko Hietaniemi [Wed, 21 Oct 2015 00:28:25 +0000 (20:28 -0400)]
Note the resource hungriness of mktables.
Daniel Dragan [Tue, 20 Oct 2015 22:03:45 +0000 (18:03 -0400)]
make non-zero exit from Makefile.PL fatal in make_ext.pl
A non-zero exit is fatal according to
http://www.nntp.perl.org/group/perl.qa/2008/08/msg11236.html so do not
continue building even if a Makefile was generated (an END block or code
after WriteMakefile() could have died for example).
This patch is from trying to fix problems in this thread
http://www.nntp.perl.org/group/perl.perl5.porters/2015/10/msg231903.html
Steve Hay [Tue, 20 Oct 2015 23:09:32 +0000 (00:09 +0100)]
Prepare Module::CoreList for 5.23.5
Steve Hay [Tue, 20 Oct 2015 22:53:22 +0000 (23:53 +0100)]
Bump version to 5.23.5
Steve Hay [Tue, 20 Oct 2015 22:42:55 +0000 (23:42 +0100)]
Create perldelta for 5.23.5
Steve Hay [Tue, 20 Oct 2015 22:30:33 +0000 (23:30 +0100)]
Tick off 5.23.4
Steve Hay [Tue, 20 Oct 2015 22:28:59 +0000 (23:28 +0100)]
Add 5.23.4 epigraph
Steve Hay [Tue, 20 Oct 2015 19:19:24 +0000 (20:19 +0100)]
Last-minute perldelta tweak
Steve Hay [Tue, 20 Oct 2015 19:11:49 +0000 (20:11 +0100)]
Perl 5.23.4 today
Steve Hay [Tue, 20 Oct 2015 19:09:32 +0000 (20:09 +0100)]
Finalize perldelta
Steve Hay [Tue, 20 Oct 2015 18:59:55 +0000 (19:59 +0100)]
Update Module::CoreList for 5.23.4
Karl Williamson [Tue, 20 Oct 2015 17:23:40 +0000 (11:23 -0600)]
regcomp.c: Keep parse pointer on full character boundary
I think, but am unsure, that this commit isn't necessary. Without it,
the parse pointer can point to an interior byte of a multi-byte
character. Recent work has sensitized me to trying to avoid this. So
this commit advances the pointer a full character width at a time.
Karl Williamson [Tue, 20 Oct 2015 17:21:47 +0000 (11:21 -0600)]
perldelta for #126181
Victor Adam [Sun, 27 Sep 2015 08:22:08 +0000 (10:22 +0200)]
PATCH: [perl #126181] regex: handle \cX inside (?[])
The \cX notation for control characters used to cause panics and unexpected
behavior when used insed an extended character class. See bug #126181.
The solution is to ignore the byte following \c during the first parsing
pass of a (?[]) construct.
Victor Adam [Fri, 2 Oct 2015 17:38:25 +0000 (19:38 +0200)]
AUTHORS: Add Victor Adam
David Mitchell [Tue, 6 Oct 2015 10:50:06 +0000 (11:50 +0100)]
Improve pod for [ah]v_(clear|undef)
See [perl #117341].
Karl Williamson [Tue, 20 Oct 2015 05:00:40 +0000 (23:00 -0600)]
perldelta for #126404
Karl Williamson [Tue, 20 Oct 2015 04:51:53 +0000 (22:51 -0600)]
PATCH: [perl #12406] regnode panic
This was due to an "=" that should have been a "+=", which ended up in
this situation not allocating enough space for the pattern. This is not
likely to cause real field problems since the generated pattern won't
succeed, and the problem is warned about and would be corrected.
Daniel Dragan [Mon, 19 Oct 2015 21:47:16 +0000 (17:47 -0400)]
const vtables in win32/perlhost.h
This allows some more memory to be shared between 2 perl processes since
it is const. VC 2013 32b build, before Virtual Size of perl523.dll
sections, .rdata 0x3DE00 bytes .data 0x1B90, after .rdata 0x3E140
.data 0x18B0.
Karl Williamson [Tue, 20 Oct 2015 04:24:24 +0000 (22:24 -0600)]
PATCH: [perl #126404] Assertion fail in (?[...])
This was due to the '()' in the test case being empty, and not reducing
to an operand. The code didn't expect it, but was guarded by an
assertion. Now it generates a proper error.
Tony Cook [Tue, 20 Oct 2015 04:11:42 +0000 (15:11 +1100)]
fix pod error introduced in
65c4791f
Jarkko Hietaniemi [Tue, 20 Oct 2015 02:32:45 +0000 (22:32 -0400)]
Mention the HP-UX cadvise (Code Advisor).
Jarkko Hietaniemi [Tue, 20 Oct 2015 02:26:56 +0000 (22:26 -0400)]
Add link for the Coverity perl5 project.
Jarkko Hietaniemi [Tue, 20 Oct 2015 01:55:12 +0000 (21:55 -0400)]
Mention http://sourceforge.net/p/predef/wiki/Home/
Jarkko Hietaniemi [Tue, 20 Oct 2015 01:11:15 +0000 (21:11 -0400)]
Make __ASSERT__() empty under Coverity, avoiding many false alerts.
(As suggested by khw.)
Steve Hay [Mon, 19 Oct 2015 21:27:21 +0000 (22:27 +0100)]
perldelta tweaks
Karl Williamson [Mon, 19 Oct 2015 21:17:17 +0000 (15:17 -0600)]
perl.h: Remove some unused, non-portable #defines
See http://nntp.perl.org/group/perl.perl5.porters/231533
These #defines are ASCII-platform only, so any code that might use them
would be wrong for non-ASCII ones.
Karl Williamson [Mon, 19 Oct 2015 21:13:18 +0000 (15:13 -0600)]
Add test for [perl #126204]
This bug is the same cause as #126180, fixed by
5a55ed33047e05399ce1a3781bb35f300aa7fb63
This current commit just adds the test case for #126204 to the test
suite.
Karl Williamson [Mon, 19 Oct 2015 19:40:23 +0000 (13:40 -0600)]
PATCH: [perl #126177] Document /(?n)/
This adds /n to various places in perlre where it was omitted, and adds
a heading to better structure the document, and a clarifying sentence.
Karl Williamson [Mon, 19 Oct 2015 19:12:29 +0000 (13:12 -0600)]
perldelta for #126319
Karl Williamson [Mon, 19 Oct 2015 18:41:10 +0000 (12:41 -0600)]
PATCH: [perl #126319] Seg fault
This is a merge into blead of a branch that fixes several errors in the
\b{gcb}, \b{wb}, and \b{sb} (and \B{} corresponding) constructs added in
v5.22.
Finding and fixing the bug in the ticket caused several other
bugs to show up, so that fixing just that one caused other tests to
fail.
Karl Williamson [Mon, 19 Oct 2015 18:21:30 +0000 (12:21 -0600)]
Remove TODOs from tests now passing
These were instituted commits prior to this one.
Karl Williamson [Mon, 19 Oct 2015 18:14:36 +0000 (12:14 -0600)]
"" =~ /\b{gcb}/ should fail; same \b{wb}, \b{sb}
The Unicode standard indicates that these breaks should succeed at the
beginning and end of text. It appears to me to be an oversight on their
part to not make an exception when there is no actual text. (Their test
suite does not cover this case.) I blindly implemented their algorithm
for 5.22, but it really is the wrong thing to do.
Karl Williamson [Mon, 19 Oct 2015 17:59:05 +0000 (11:59 -0600)]
Fix some bugs in \B[sb}, \B{wb}, \B[gcb}
Under \B{} the result is the complement of the \b{} result. However in
this code, the result was getting complemented again, wrongly.
Karl Williamson [Mon, 19 Oct 2015 17:41:00 +0000 (11:41 -0600)]
regexec.c: Combine some if's
The previous commit removed all but a single if statement each from
within the scope of other if statements. Combine them into one each.
Karl Williamson [Mon, 19 Oct 2015 17:16:58 +0000 (11:16 -0600)]
Fix some bugs with \b{gcb}, wb and sb
These were thinkos. These things shouldn't have been in the
conditional, but after it so they are executed each time through the
loop.
Karl Williamson [Mon, 19 Oct 2015 15:56:27 +0000 (09:56 -0600)]
Fix look-behind bug with \b{wb}
The algorithm for determining a word break requires look-behind in some
cases. Certain characters are ignored in the look-behind, but until
this commit, the parse pointer was unchanged, causing things to get out
of sync in some edge cases.
Karl Williamson [Mon, 19 Oct 2015 15:12:46 +0000 (09:12 -0600)]
Add TODO tests for [perl #126319]
Some of these pass already, but may temporarily fail as a result of the
next few commits, until it all gets straightened out in the end.
Karl Williamson [Mon, 19 Oct 2015 18:08:41 +0000 (12:08 -0600)]
regexec.c: Remove extraneous 'break'
Karl Williamson [Mon, 19 Oct 2015 17:35:15 +0000 (11:35 -0600)]
regexec.c: Add comment
Karl Williamson [Mon, 19 Oct 2015 15:04:59 +0000 (09:04 -0600)]
t/re/subst.t: Use loc_tools for skipping locale tests
t/loc_tools.pl is used as a centralized place for providing
infrastructure for core testing involving locales.