This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
10 years agoStore the targetdir, targethost from Configure in config.sh for later.
Jess Robinson [Thu, 31 Jan 2013 14:12:31 +0000 (14:12 +0000)]
Store the targetdir, targethost from Configure in config.sh for later.

10 years agoConfigure: Remove "was file copied" check using run-ssh
Jess Robinson [Tue, 15 Jan 2013 10:26:22 +0000 (10:26 +0000)]
Configure: Remove "was file copied" check using run-ssh

This doesn't seem to be of much use.

10 years agoConfigure: If using targetarch, the computed binaries should stick
Brian Fraser [Tue, 19 Nov 2013 12:16:11 +0000 (09:16 -0300)]
Configure: If using targetarch, the computed binaries should stick

10 years agoConfigure: Don't skip the alignbytes test when crosscompiling
Brian Fraser [Mon, 13 Jan 2014 07:22:02 +0000 (04:22 -0300)]
Configure: Don't skip the alignbytes test when crosscompiling

10 years agoConfigure: Add $run to two tests
Brian Fraser [Mon, 13 Jan 2014 05:03:16 +0000 (02:03 -0300)]
Configure: Add $run to two tests

10 years agoConfigure: use $sysroot, if available, in checkccflags
Brian Fraser [Mon, 13 Jan 2014 05:00:43 +0000 (02:00 -0300)]
Configure: use $sysroot, if available, in checkccflags

If the user specified -Dsysroot but we don't use it, then the results can
be entirely off.

This also introduces an internal variable for Configure, _sysroot,
which is just "--sysroot=$sysroot", for use in places like checkccflags that
need --sysroot but don't need the other flags.

10 years agoConfigure: No need to skip the byteorder test when cross-compiling.
Brian Fraser [Sat, 11 Jan 2014 05:54:03 +0000 (02:54 -0300)]
Configure: No need to skip the byteorder test when cross-compiling.

This skip was added in 2001, but under the current model there's no
real reason to skip it.

10 years agoFix two Configure tests when targethost is set
Jess Robinson [Sat, 29 Dec 2012 21:23:01 +0000 (21:23 +0000)]
Fix two Configure tests when targethost is set

10 years agoConfigure: When cross-compiling, look for *-gcc* instead of *-*-gcc
Brian Fraser [Fri, 11 Oct 2013 19:52:48 +0000 (16:52 -0300)]
Configure: When cross-compiling, look for *-gcc* instead of *-*-gcc

Ditto with g++. This allows us to use, for example, ntox86-gcc or
x86_64-w64-mingw32-g++.exe to cross-compile, and have Configure detect
most things automatically.

10 years agoSet appropriate flags for linux or linux-like systems.
Jess Robinson [Sat, 29 Dec 2012 21:26:27 +0000 (21:26 +0000)]
Set appropriate flags for linux or linux-like systems.

This means that osnames that look like *linux*, like linux-androideabi
or linux-gnueabihf are treated like linux systems.

10 years agosv_buf_to_rw can be static
Father Chrysostomos [Fri, 17 Jan 2014 14:30:57 +0000 (06:30 -0800)]
sv_buf_to_rw can be static

sv_buf_to_ro needs to be non-static because op.c uses it, but
sv_buf_to_rw is only called from sv.c.

10 years agoAlways define sTHX as 0 when not using mem debug header
Father Chrysostomos [Fri, 17 Jan 2014 14:11:02 +0000 (06:11 -0800)]
Always define sTHX as 0 when not using mem debug header

I broke the threaded build in b001a0d149 by assuming that sTHX was
always set to 0 when memory debug headers were not in use.  That is
an easy assumption to make, so this commit makes that assumption true.
(And there is no reason it cannot be made true.  There is no need for
sTHX to be set under PERL_IMPLICIT_CONTEXT but not PERL_TRACK_MEMPOOL,
where sTHX was not even used before b001a0d149.)

10 years ago[Merge] Cow Tools
Father Chrysostomos [Fri, 17 Jan 2014 02:03:35 +0000 (18:03 -0800)]
[Merge] Cow Tools

This branch provides a PERL_DEBUG_READONLY_COW mode that turns COW
violations into crashes.  It also add documentation to perlguts
explaining how to handle COW strings in XS code.

There are two ‘known’ failures in IO::Compress’ tests.  A patch has
been sent upstream.

(Apologies to Gary Larson.)

10 years agoutil.c: A couple of defines to simplify #ifdef maze
Father Chrysostomos [Sun, 12 Jan 2014 00:45:18 +0000 (16:45 -0800)]
util.c: A couple of defines to simplify #ifdef maze

No real simplification in terms of the number of #ifdefs, but more
readability (hopefully).

10 years agoSkip t/re/uniprops.t under PERL_DEBUG_READONLY_COW
Father Chrysostomos [Fri, 3 Jan 2014 13:58:22 +0000 (05:58 -0800)]
Skip t/re/uniprops.t under PERL_DEBUG_READONLY_COW

Under Linux, using mmap for all memory allocation stops working when we
get up to 70,000 lines of code.  So just skip it.

10 years agoSvGROW should un-cow under PERL_OLD_COPY_ON_WRITE
Father Chrysostomos [Thu, 2 Jan 2014 20:39:05 +0000 (12:39 -0800)]
SvGROW should un-cow under PERL_OLD_COPY_ON_WRITE

Otherwise pp_uc (and presumably other pieces of code) will end up mod-
ifying shared buffers.

Brought to you by PERL_DEBUG_READONLY_COW.

10 years agoperldiag for new mprotect warnings
Father Chrysostomos [Mon, 30 Dec 2013 00:47:43 +0000 (16:47 -0800)]
perldiag for new mprotect warnings

10 years agoTeach podcheck about mmap(2)
Father Chrysostomos [Mon, 30 Dec 2013 00:39:36 +0000 (16:39 -0800)]
Teach podcheck about mmap(2)

10 years agoCOW documentation
Father Chrysostomos [Sat, 28 Dec 2013 14:06:27 +0000 (06:06 -0800)]
COW documentation

plus read-only documentation, since hysterically the two are
intertwined.

10 years agoXS::APItest: Flatten src for utf16_to_utf8_reversed
Father Chrysostomos [Thu, 12 Dec 2013 23:26:01 +0000 (15:26 -0800)]
XS::APItest: Flatten src for utf16_to_utf8_reversed

utf16_to_utf8_reversed (the C function) modifies its input, so the XS
function of the same name should flatten the input to avoid modifying
shared buffers.

Brought to you by PERL_DEBUG_READONLY_COW.

10 years agothreads.t: Increase watchdog timeout
Father Chrysostomos [Mon, 6 Jan 2014 00:20:58 +0000 (16:20 -0800)]
threads.t: Increase watchdog timeout

PERL_DEBUG_READONLY_COW is too slow for a 60s timeout.

10 years agoMake XS::APItest::establish_cleanup protect existing stacks
Father Chrysostomos [Mon, 6 Jan 2014 00:09:35 +0000 (16:09 -0800)]
Make XS::APItest::establish_cleanup protect existing stacks

It causes pp_entersub to be called in odd places, which can cause the
context stack to be reallocated when an outer function call (like
pp_leavesub) has a pointer into the context stack in a C auto.

cleanup.t was failing for me under PERL_DEBUG_READONLY_COW +
STRESS_REALLOC + threads, because the context stack was reallocated
and the old address then freed and reused for something else, being
zeroed in the mean time.  So pp_leavesub returned NULL (trying to
read retop from the context stack), causing the program to exit.
During global destruction, subs that had not be exited properly were
undefined, leading to:

1..3
Can't undef active subroutine during global destruction.

10 years agoPERL_DEBUG_READONLY_COW
Father Chrysostomos [Wed, 4 Dec 2013 12:39:14 +0000 (04:39 -0800)]
PERL_DEBUG_READONLY_COW

Make perls compiled with -Accflags=-DPERL_DEBUG_READONLY_COW to turn
COW buffer violations into crashes.

We do this using mmap to allocate memory and then mprotect to mark
memory as read-only when buffers are shared.

We have to do this at the safesysmalloc level, because some code does
SvPV_set with buffers it allocates on its own via safemalloc().

Unfortunately this means many things are allocated using mmap that
will never be marked read-only, slowing things down considerably, but
I see no other way.

Because munmap and mprotect need to know the length, we use the
existing sTHX/perl_memory_debug_header mechanism used already by
PERL_TRACK_MEMPOOL and store the size there (as PERL_POISON already
does when PERL_TRACK_MEMPOOL is enabled).  perl_memory_debug_header is
a struct positioned at the beginning of every allocated buffer, for
tracking things.

10 years agoUpdate Module-Load-Conditional to CPAN version 0.60
Chris 'BinGOs' Williams [Thu, 16 Jan 2014 20:06:49 +0000 (20:06 +0000)]
Update Module-Load-Conditional to CPAN version 0.60

  [DELTA]

0.60    Thu Jan 16 12:28:24 GMT 2014

* Added autoload option to can_load()

10 years agoregcomp.c: Remove unnecessary variable
Karl Williamson [Thu, 16 Jan 2014 17:26:16 +0000 (10:26 -0700)]
regcomp.c: Remove unnecessary variable

This variable is set and tested just once in all but one instance,
before being discarded.  In that one instance, it's tested twice.  The
underlying expression is just extracting a field from a structure.
There's no efficiency gain to using the variable, so might as well not
have it.

10 years agoTurn on read-only flag for some unchangeable inversion lists
Karl Williamson [Thu, 16 Jan 2014 17:23:31 +0000 (10:23 -0700)]
Turn on read-only flag for some unchangeable inversion lists

These lists are read-only.  Turning on the flag may allow some
optimisations to be done, including some that may be added in the
future.

10 years agoUpdate known POD issues
Chris 'BinGOs' Williams [Thu, 16 Jan 2014 16:20:08 +0000 (16:20 +0000)]
Update known POD issues

10 years agoUpdate Scalar-List-utils to CPAN version 1.36
Chris 'BinGOs' Williams [Thu, 16 Jan 2014 15:49:51 +0000 (15:49 +0000)]
Update Scalar-List-utils to CPAN version 1.36

  [DELTA]

1.36 -- 2014/01/16 15:40:47
  [CHANGES]
   * Added Scalar::Util::unweaken()
   * Various documentation changes/updates

  [BUGFIXES]
   * Correct uses of overload operators in unit tests (RT91969)

10 years ago[perl #89502] improved FreeMINT support
Tony Cook [Thu, 16 Jan 2014 04:37:27 +0000 (15:37 +1100)]
[perl #89502] improved FreeMINT support

10 years agodescribe the level of FreeMINT support
Tony Cook [Thu, 16 Jan 2014 04:11:50 +0000 (15:11 +1100)]
describe the level of FreeMINT support

10 years agoadd Alan Hourihane to AUTHORS
Tony Cook [Fri, 15 Nov 2013 00:56:46 +0000 (11:56 +1100)]
add Alan Hourihane to AUTHORS

10 years agonew freemint hints file
Alan Hourihane [Fri, 15 Nov 2013 00:53:16 +0000 (11:53 +1100)]
new freemint hints file

10 years agofreemint doesn't need the extra -lm -lposix either
Alan Hourihane [Fri, 15 Nov 2013 00:37:52 +0000 (11:37 +1100)]
freemint doesn't need the extra -lm -lposix either

10 years agofix some linuxisms and RETVAL warnings from xsubpp
Alan Hourihane [Fri, 15 Nov 2013 00:30:50 +0000 (11:30 +1100)]
fix some linuxisms and RETVAL warnings from xsubpp

Original patch by Alan, modified by Tony Cook to remove unused return
types.

10 years ago[perl #89502] support for dld on Atari FreeMINT
Tony Cook [Mon, 11 Nov 2013 00:45:40 +0000 (11:45 +1100)]
[perl #89502] support for dld on Atari FreeMINT

10 years agofix a POD error
Tony Cook [Thu, 16 Jan 2014 04:35:45 +0000 (15:35 +1100)]
fix a POD error

10 years agocorrect release schedule: next dev series is 5.21
Ricardo Signes [Thu, 16 Jan 2014 04:26:07 +0000 (23:26 -0500)]
correct release schedule: next dev series is 5.21

10 years agoupdate the release schedule
Ricardo Signes [Thu, 16 Jan 2014 04:24:42 +0000 (23:24 -0500)]
update the release schedule

10 years agosomeone forgot to test_porting and it was me
Tony Cook [Thu, 16 Jan 2014 02:38:21 +0000 (13:38 +1100)]
someone forgot to test_porting and it was me

add another strange email address to checkAUTHORS.pl

10 years ago[perl #120670] make perl headers C++11 compatible
Tony Cook [Tue, 10 Dec 2013 22:48:15 +0000 (09:48 +1100)]
[perl #120670] make perl headers C++11 compatible

10 years agoperldelta for 6a601575dc
Tony Cook [Wed, 15 Jan 2014 22:48:10 +0000 (09:48 +1100)]
perldelta for 6a601575dc

10 years ago[perl #121010] Fix base.pm nonexistent module check with open files
Tony Cook [Wed, 15 Jan 2014 22:40:43 +0000 (09:40 +1100)]
[perl #121010] Fix base.pm nonexistent module check with open files

10 years agobump $base::VERSION
Tony Cook [Wed, 15 Jan 2014 22:34:34 +0000 (09:34 +1100)]
bump $base::VERSION

10 years agoFix base.pm nonexistent module check with open files
Dagfinn Ilmari Mannsåker [Tue, 14 Jan 2014 14:18:52 +0000 (14:18 +0000)]
Fix base.pm nonexistent module check with open files

Tony Cook: update MANIFEST

10 years agoUpdate Perl-OSType to CPAN version 1.007
Chris 'BinGOs' Williams [Wed, 15 Jan 2014 19:56:19 +0000 (19:56 +0000)]
Update Perl-OSType to CPAN version 1.007

  [DELTA]

1.007     2014-01-15 09:45:41-05:00 America/New_York

    [ADDED]

    - Added 'android' as a Unix-type OS (Piotr Roszatycki)

10 years agofix a typo in a comment
Ricardo Signes [Wed, 15 Jan 2014 14:49:04 +0000 (09:49 -0500)]
fix a typo in a comment

Spotted by Matthew Horsfall

10 years agoConfigure: default incpth to usrinc
Brian Fraser [Wed, 15 Jan 2014 12:14:46 +0000 (09:14 -0300)]
Configure: default incpth to usrinc

A previous commit made findhdr use incpth instead of just usrinc;
however, at the moment, incpth is not being filled for non-gcc
compatible compilers, and so broke the build for those.

This commit makes incpth default to usrinc, which means that
if for whatever reason incpth is not filled, findhdr will still
function as it did before.

10 years ago[perl #120933] static extensions now depend on nonxs extensions
Tony Cook [Wed, 15 Jan 2014 03:35:25 +0000 (14:35 +1100)]
[perl #120933] static extensions now depend on nonxs extensions

This means that changes to static extensions like Win32CORE actually
result in them being rebuilt.

10 years agoperldelta for e122534c08
Tony Cook [Tue, 14 Jan 2014 22:58:10 +0000 (09:58 +1100)]
perldelta for e122534c08

10 years ago[perl #118843] work around recv() behaviour on cygwin
Tony Cook [Mon, 13 Jan 2014 05:20:00 +0000 (16:20 +1100)]
[perl #118843] work around recv() behaviour on cygwin

cygwin inherits recv behaviour from the Win32 sockets API which doesn't
modify the namebuf or it's associated size when you recv() from a
connected socket, handle this the same way Win32 does by zeroing the
length if it's the same as before calling recv().

Also adds some basic socket function tests to the core tests.

10 years agoperldelta for 24fc4d43fd
Tony Cook [Tue, 14 Jan 2014 21:58:03 +0000 (08:58 +1100)]
perldelta for 24fc4d43fd

10 years ago[perl #118817] avoid using 2 handles to write to the debug output
Tony Cook [Mon, 13 Jan 2014 22:24:40 +0000 (09:24 +1100)]
[perl #118817] avoid using 2 handles to write to the debug output

Previously the tests were run with the following config:

  NonStop=0 TTY=db.out LineInfo=db.out

This meant that the debugger would write the prologue, command prompts
and their results and the epilogue to one handle, and any line trace
information to the second handle.  Since those handles didn't share a
file position, the line trace info would overwrite the prologue, and
the epilogue would overwrite part of the line trace info.

When TTY=vt100 on Redhat systems this made the epilogue just long
enough to overwrite the line trace data that a test matched against,
causing the test to fail.

To fix this, I avoided setting LineInfo:

  NonStop=0 TTY=db.out

and since LineInfo defaults to using the TTY handle, both types of
content are written to db.out *without* overwriting each other.

Unfortunately this broke some other tests, since the command prompts
which were overwritten by line trace information are now mixed in with
the line traces - I've modified the tests that failed to account for
the included command lines.

10 years agoMerge branch 'experimental-autoderef' into blead
Ricardo Signes [Tue, 14 Jan 2014 14:33:14 +0000 (09:33 -0500)]
Merge branch 'experimental-autoderef' into blead

10 years agoperldelta for experimental::autoderef
Ricardo Signes [Tue, 14 Jan 2014 14:13:53 +0000 (09:13 -0500)]
perldelta for experimental::autoderef

10 years agorename aggref warnings to autoderef
Ricardo Signes [Tue, 14 Jan 2014 13:34:19 +0000 (08:34 -0500)]
rename aggref warnings to autoderef

10 years agoavoid a keys-on-scalar warning in a test
Ricardo Signes [Tue, 14 Jan 2014 13:30:46 +0000 (08:30 -0500)]
avoid a keys-on-scalar warning in a test

10 years agoMore test tweaks
Father Chrysostomos [Sat, 9 Nov 2013 14:56:42 +0000 (06:56 -0800)]
More test tweaks

10 years agoFix copy & paste error in tests
Father Chrysostomos [Sat, 9 Nov 2013 14:31:58 +0000 (06:31 -0800)]
Fix copy & paste error in tests

10 years agoIncrease $warnings::VERSION to 1.21
Father Chrysostomos [Sat, 9 Nov 2013 14:30:32 +0000 (06:30 -0800)]
Increase $warnings::VERSION to 1.21

10 years agoMake key/push $scalar experimental
Father Chrysostomos [Sat, 9 Nov 2013 14:30:03 +0000 (06:30 -0800)]
Make key/push $scalar experimental

We need a better name for the experimental category, but I have not
thought of one, even after sleeping on it.

10 years agoGet t/io/utf8.t working under PERL_UNICODE
Father Chrysostomos [Tue, 14 Jan 2014 14:30:23 +0000 (06:30 -0800)]
Get t/io/utf8.t working under PERL_UNICODE

10 years agoUse NOT_REACHED in one spot in hv.c
Father Chrysostomos [Tue, 14 Jan 2014 06:34:21 +0000 (22:34 -0800)]
Use NOT_REACHED in one spot in hv.c

This reduces the size of hv.o by 32 bytes under clang.

10 years agouse the more portable File::Spec->devnull for the stderr redirect
Tony Cook [Tue, 14 Jan 2014 05:54:29 +0000 (16:54 +1100)]
use the more portable File::Spec->devnull for the stderr redirect

this allows pending-author.t to work on MSWin32

10 years ago[perl #116971] avoid feeding manisort a bad @INC
Tony Cook [Tue, 14 Jan 2014 05:53:40 +0000 (16:53 +1100)]
[perl #116971] avoid feeding manisort a bad @INC

the C<< use TestInit qw(T) >> in manifest.t both changes to the
build tree *and* initializes $ENV{PERL5LIB} to "lib", so there's
no need fo runperl() to supply (an incorrect) -I.. when running
manisort.

10 years ago[perl #116971] avoid feeding utils run by utils.t a bad @INC
Tony Cook [Tue, 14 Jan 2014 04:46:27 +0000 (15:46 +1100)]
[perl #116971] avoid feeding utils run by utils.t a bad @INC

the C<< use TestInit qw(T) >> both changes to the build tree root
*and* initializes $ENV{PERL5LIB} to "lib", so there's no need for
runperl() to supply -I.. when testing each tool.

10 years agoperldelta for 466947750 and cf74bc378c0
Tony Cook [Tue, 14 Jan 2014 04:14:42 +0000 (15:14 +1100)]
perldelta for 466947750 and cf74bc378c0

10 years agoAdd examples for IO::Socket::UNIX.
Shlomi Fish [Mon, 13 Jan 2014 12:16:29 +0000 (14:16 +0200)]
Add examples for IO::Socket::UNIX.

In the SYNOPSIS.

See
http://www.nntp.perl.org/group/perl.perl5.porters/2014/01/msg211274.html:

<QUOTE>
From: Shlomi Fish
Subject: Patch for perldoc IO::Socket::UNIX

I noticed http://perldoc.perl.org/IO/Socket/UNIX.html does not contain any
examples (including not in the synopsis). If acceptable, I can a prepare a
patch that will include a simple server and a client for UNIX domain sockets,
see: http://www.mail-archive.com/beginners%40perl.org/msg116942.html
</QUOTE>

TC: modified the version number modification

10 years agoRemove an old note about autoflush from the POD.
Shlomi Fish [Mon, 13 Jan 2014 11:54:00 +0000 (13:54 +0200)]
Remove an old note about autoflush from the POD.

For IO::Socket::UNIX. See:

http://www.nntp.perl.org/group/perl.perl5.porters/2014/01/msg211275.html

<QUOTE>
And while you're at it, you might as well get rid of the autoflush note,
given IO::Socket 1.18 being fairly ancient (it shipped with 5.6.0).
</QUOTE>

10 years agoperldelta for -Dsysroot
Brian Fraser [Tue, 14 Jan 2014 03:19:08 +0000 (00:19 -0300)]
perldelta for -Dsysroot

10 years agoConfigure, sysroot: failing to guess usrinc needn't be fatal
Brian Fraser [Fri, 3 Jan 2014 04:32:09 +0000 (01:32 -0300)]
Configure, sysroot: failing to guess usrinc needn't be fatal

Previously, if we failed to guess usrinc, incpth, or libpth and were
cross-compiling, Configure would've bailed out immediately.  This commit
makes it more lenient if using -Dsysroot; in case of failure it will now
warn, but Configure will continue as usual; this is because the defaults
for those variables will now use sysroot, so they have a higher chance
of being accurate.

10 years agoConfigure, sysroot: Update defaults to use $sysroot
Brian Fraser [Thu, 2 Jan 2014 03:17:17 +0000 (00:17 -0300)]
Configure, sysroot: Update defaults to use $sysroot

10 years agoConfigure, sysroot: add --sysroot to cppflags
Brian Fraser [Mon, 30 Dec 2013 05:33:05 +0000 (02:33 -0300)]
Configure, sysroot: add --sysroot to cppflags

10 years agoIntroduce sysroot variable to Configure
Jess Robinson [Fri, 19 Oct 2012 18:05:25 +0000 (19:05 +0100)]
Introduce sysroot variable to Configure

This is borrowed from gcc and allows us to indicate the logical root
directory for headers and libraries, under which all -I and -L are
searched for. This patch adjusts Configure to search under $sysroot
(if supplied) for headers and libraries, instead of /.

--sysroot is added to ccflags and friends so that make in
ExtUtils::MakeMaker, and other extensions, will use it.

Currently this is only done if compiling with some variant of gcc
or g++.

10 years agoConfigure: use incpth, not usrinc, to search for headers.
Brian Fraser [Sat, 11 Jan 2014 05:50:47 +0000 (02:50 -0300)]
Configure: use incpth, not usrinc, to search for headers.

incpth is all the paths that will eventually be used by the compiler to
search for headers; usrinc is the first of those paths to have all three
of errno.h, stdio.h, and time.h inside.

10 years agoConfigure: Change a use of cc to $cc
Brian Fraser [Tue, 31 Dec 2013 16:33:42 +0000 (13:33 -0300)]
Configure: Change a use of cc to $cc

10 years agoConfigure: Add $cppflags to cppstdin
Brian Fraser [Wed, 1 Jan 2014 22:55:33 +0000 (19:55 -0300)]
Configure: Add $cppflags to cppstdin

10 years agoConfigure: Better guesses for usrinc and friends on some compilers
Brian Fraser [Tue, 31 Dec 2013 15:30:41 +0000 (12:30 -0300)]
Configure: Better guesses for usrinc and friends on some compilers

It turns out that we had some much more accurate way of getting
usrinc, libpth and incpth -- we can just ask the compiler.  This
was stashed away and only used when cross-compiling; what this
commit does is move things around so that it's also used in the
more common case.

10 years agoMake getc unset the utf8 flag on its retval
Father Chrysostomos [Mon, 13 Jan 2014 00:47:31 +0000 (16:47 -0800)]
Make getc unset the utf8 flag on its retval

The same scalar (the target) is used to return the value each time the
same getc operator is called.  It was turning on the utf8 flag when
necessary, but not turning it off.

(I suspect recv has the same bug.  I haven’t confirmed.)

10 years agoperldelta for c3970b8037
Tony Cook [Mon, 13 Jan 2014 02:01:14 +0000 (13:01 +1100)]
perldelta for c3970b8037

10 years agocorrect a Pod warning in the new perldelta template
Ricardo Signes [Mon, 13 Jan 2014 00:18:40 +0000 (19:18 -0500)]
correct a Pod warning in the new perldelta template

(cherry picked from commit 1332f10946560bb419517a581b7f56982fcc659f)

10 years agoreduce size of const static tables in time64.c
Daniel Dragan [Sun, 12 Jan 2014 08:39:50 +0000 (03:39 -0500)]
reduce size of const static tables in time64.c

The data in the const static arrays can be expressed with smaller
datatypes. This reduces binary size slightly.

10 years agoUse NOT_REACHED in one more place in op.c
Father Chrysostomos [Sun, 12 Jan 2014 15:55:30 +0000 (07:55 -0800)]
Use NOT_REACHED in one more place in op.c

Under clang, this reduces the size of op.o by 16 bytes.

$ clang -v
Apple LLVM version 4.2 (clang-425.0.27) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin12.5.0
Thread model: posix

10 years agopp_ctl.c:pp_require: Remove redundant VMS null checks
Father Chrysostomos [Fri, 10 Jan 2014 13:53:19 +0000 (05:53 -0800)]
pp_ctl.c:pp_require: Remove redundant VMS null checks

SvPVX(newSVpv("",...)) should never return null.

10 years agopp_sys.c:S_doform: remove redundant null check
Father Chrysostomos [Sat, 11 Jan 2014 15:00:06 +0000 (07:00 -0800)]
pp_sys.c:S_doform: remove redundant null check

This static function is called from exactly two places that both die
aforehand if cv is null.  Further, the cv parameter is already marked
as non-null.

10 years agot/re/pat.t: Keep minitest passing
Father Chrysostomos [Sat, 11 Jan 2014 06:05:35 +0000 (22:05 -0800)]
t/re/pat.t: Keep minitest passing

10 years agoAdd Russel O'Connor to AUTHORS
Father Chrysostomos [Sat, 11 Jan 2014 06:01:43 +0000 (22:01 -0800)]
Add Russel O'Connor to AUTHORS

Apparently he was the original author of commit b0d9ce3858 (Oct ’99).

10 years agoUpdate Module-Build to CPAN version 0.4204
Chris 'BinGOs' Williams [Sat, 11 Jan 2014 17:39:02 +0000 (17:39 +0000)]
Update Module-Build to CPAN version 0.4204

  [DELTA]

0.4204 - Fri Jan 10 00:29:31 CET 2014

  [BUG FIXES]

  - Map conflicts back to runtime [Leon Timmermans]

  - Use mod2fname whenever it's available [Leon Timmermans, Brian Fraser]

  - Accept custom entries in meta_merge 1.4

10 years agoperldiag: Rewrap an entry for better splain output
Father Chrysostomos [Fri, 10 Jan 2014 14:17:24 +0000 (06:17 -0800)]
perldiag: Rewrap an entry for better splain output

10 years agoperldiag: Use (F) consistently
Father Chrysostomos [Fri, 10 Jan 2014 14:10:43 +0000 (06:10 -0800)]
perldiag: Use (F) consistently

and explain in the prose when there is an error.  One entry already
explained this.

10 years agoFix require’s get-magic handling for @INC elements
Father Chrysostomos [Fri, 10 Jan 2014 13:59:39 +0000 (05:59 -0800)]
Fix require’s get-magic handling for @INC elements

It was only calling get-magic before checking whether the argument was
a reference if the array was tied, which is not the only thing that
can cause an @INC element to have get-magic.  It should have been
checking for get-magic on the element itself (which is a faster
check, too).

And then there were too many FETCH calls.

I do not know whether we should be calling get-magic exactly once
when the ‘Can’t locate’ error occurs.  At least this commit reduces
the number of FETCHes.

10 years agoCorrect capitalization of Devel::ptkdb in perldebug
Brian Gottreu [Fri, 10 Jan 2014 19:36:32 +0000 (13:36 -0600)]
Correct capitalization of Devel::ptkdb in perldebug

10 years agoDon't multiply define _new_invlist_C_array.
Craig A. Berry [Fri, 10 Jan 2014 13:50:36 +0000 (07:50 -0600)]
Don't multiply define _new_invlist_C_array.

It's now an external function in regcomp.c, so it doesn't need to
also be defined in re_comp.c.  And in fact it mustn't be as the VMS
linker warns with:

%ILINK-W-MULDEF, symbol PERL__NEW_INVLIST_C_ARRAY multiply defined
        module: RE_COMP

which becomes a run-time error.

10 years agoregexec.c: Don't skip trying POSIX class if [] has individ char
Karl Williamson [Fri, 10 Jan 2014 05:06:24 +0000 (22:06 -0700)]
regexec.c: Don't skip trying POSIX class if [] has individ char

commit b99851e1941e002dd4816ee6c76fd49bbee1d7f3
Author: Karl Williamson <public@khwilliamson.com>
Date:   Wed Dec 4 10:06:04 2013 -0700

    PATCH: [perl #120675] Unexpected tainting via regex using locale

introduced a bug in which under /li matching a bracketed character class
that contains both characters and POSIX classes would skip matching
against any POSIX class.  The example in the added test illustrates the
problem:

    "h" =~ /[g\w]/li;    # Failed! in C locale

10 years agofix missing _rotl64 symbol on Visual C 2003
Daniel Dragan [Thu, 9 Jan 2014 04:44:16 +0000 (23:44 -0500)]
fix missing _rotl64 symbol on Visual C 2003

Due to a bug in the CRT (msvcr71.dll), these 2 functions are not defined
in any lib Perl can use (static link CRTs dont apply, Perl only uses DLL
CRTs), but they are available as intrinsics. This solves a link error
about missing symbol __rotl64 in hv.obj, from usage in hv_func.h, on 32 bit
USE_64_BIT_INT VC 2003 builds. _rotr64 is included for completeness. This
fix is filed as [perl #120925].

10 years agoMerge branch into blead to compile into C all POSIX classes...
Karl Williamson [Thu, 9 Jan 2014 21:08:07 +0000 (14:08 -0700)]
Merge branch into blead to compile into C all POSIX classes...

This series of commits creates C compile time inversion lists for the
remaining POSIX classes that didn't have them, plus IDStart and IDCont
which are used with the 'utf8' pragma, plus one that is used for
compiling regular expressions.

This should allow faster start up times for Perl programs that use these
on code points 256 and above, while having negligible effect on programs
that don't.  It also leads to some simplification of core code, and
removal of two arrays of smaller inversion lists.

10 years agoregexec.c: Use compiled-in POSIX definitions
Karl Williamson [Tue, 7 Jan 2014 17:39:19 +0000 (10:39 -0700)]
regexec.c: Use compiled-in POSIX definitions

This changes the regex engine to not go out to the disk when needing to
find the definitions of POSIX classes, but to use the compiled-in ones
introduced earlier in this commit series.

10 years agoIDStart and IDCont no longer go out to disk
Karl Williamson [Mon, 6 Jan 2014 20:41:46 +0000 (13:41 -0700)]
IDStart and IDCont no longer go out to disk

These are the base names for various macros used in parsing identifiers.
Prior to this patch, parsing a code point above Latin1 caused loading
disk files.  This patch causes all the information to be compiled into
the Perl binary.

10 years agoisWORDCHAR_uni(), isDIGIT_utf8() etc no longer go out to disk
Karl Williamson [Mon, 6 Jan 2014 19:22:02 +0000 (12:22 -0700)]
isWORDCHAR_uni(), isDIGIT_utf8() etc no longer go out to disk

Previous commits in this series have caused all the POSIX classes to be
completely specified at C compile time.  This allows us to revise the
base function used by all these macros to use these definitions,
avoiding reading them in from disk.

10 years agoMove initialization of PL_XPosix_ptrs[] to perl.c
Karl Williamson [Mon, 6 Jan 2014 19:14:31 +0000 (12:14 -0700)]
Move initialization of PL_XPosix_ptrs[] to perl.c

This was performed unconditionally in regcomp.c.  However, future
commits will use this from other code.  Almost all (but not completely
all) Perl code uses regular expressions, so only rarely will this small
amount of initialization be performed when it currently isn't.

10 years agoregen/mk_invlists.pl: White-space only
Karl Williamson [Mon, 6 Jan 2014 18:57:53 +0000 (11:57 -0700)]
regen/mk_invlists.pl: White-space only

This outdents a block to be in line with adjacent lines.