This is a live mirror of the Perl 5 development currently hosted at
7 years agoRun porting/podcheck.t --regen to undo manual changes.
James E Keenan [Sun, 15 Jun 2014 02:32:56 +0000 (22:32 -0400)]
Run porting/podcheck.t --regen to undo manual changes.

Files like dist/Math-BigInt/lib/Math/ are probably going to remain in
known_pod_issues.dat for eternity, given that in POD the cumulative effect of
'=over' markings will always result in linelengths > recommended 79 or 80.

7 years agoRebreak lines to achieve <80 recommended line length.
James E Keenan [Sun, 15 Jun 2014 02:04:01 +0000 (22:04 -0400)]
Rebreak lines to achieve <80 recommended line length.

Inspired by Nicolas Herry's patches in RT #121872.

Bump Tie::File version number in two locations.

7 years agoRebreak lines to achieve <80 recommended line length.
James E Keenan [Sun, 15 Jun 2014 01:43:04 +0000 (21:43 -0400)]
Rebreak lines to achieve <80 recommended line length.

Inspired by Nicolas Herry's patches in RT #121820.

7 years agoRebreak lines to achieve <80 recommended line length.
James E Keenan [Sun, 15 Jun 2014 01:34:10 +0000 (21:34 -0400)]
Rebreak lines to achieve <80 recommended line length.

Inspired Nicolas Herry's patches in RT #121820.

7 years agormv duplicate SvUV call in Perl__swash_inversion_hash
Darin McBride [Fri, 13 Jun 2014 20:59:02 +0000 (13:59 -0700)]
rmv duplicate SvUV call in Perl__swash_inversion_hash

7 years agoUpdate Archive-Tar to CPAN version 1.98
Chris 'BinGOs' Williams [Sat, 14 Jun 2014 17:40:48 +0000 (18:40 +0100)]
Update Archive-Tar to CPAN version 1.98


1.98  14/06/2014 (TINITA)
- ptardiff and ptargrep should use prefix if defined

7 years agoRevert "Some low-hanging -Wunreachable-code fruits."
Jarkko Hietaniemi [Sat, 14 Jun 2014 01:48:53 +0000 (21:48 -0400)]
Revert "Some low-hanging -Wunreachable-code fruits."

This reverts commit 8c2b19724d117cecfa186d044abdbf766372c679.

I don't understand - smoke-me came back happy with three
separate reports... oh well, some other time.

7 years agoSome low-hanging -Wunreachable-code fruits.
Jarkko Hietaniemi [Fri, 13 Jun 2014 01:23:14 +0000 (21:23 -0400)]
Some low-hanging -Wunreachable-code fruits.

- after croak/die/exit (or return), break (or return!) are pointless
  (break is not a terminator/separator, it's a promise of a jump)
- after goto, another goto (!) is pointless
- in some cases (usually function ends) introduce explicit NOT_REACHED
  to make the noreturn nature clearer (do not do this everywhere, though,
  since that would mean adding NOT_REACHED after every croak)
- for the added NOT_REACHED also add /* NOTREACHED */ since
  NOT_REACHED is for gcc (and VC), while the comment is for linters
- declaring variables in switch blocks is just too fragile:
  it kind of works for narrowing the scope (which is nice),
  but breaks the moment there are initializations for the variables
  (they will be skipped!); in some easy cases simply hoist the declarations
  out of the block and move them earlier

There are still a few places left.

7 years agoAnother 'use encoding' issue
Karl Williamson [Fri, 13 Jun 2014 22:38:34 +0000 (16:38 -0600)]
Another 'use encoding' issue

Missed in b06e47f717f77453fbdaef628efc2b9c83898a8b.  Spotted by Jarkko
Hietaneimi.  I don't know why this didn't fail in my tests or by
Jenkins.  "use encoding 'latin1'" should be a no-op anyway.

7 years agoperldelta for b5bbe64.
Jarkko Hietaniemi [Fri, 13 Jun 2014 20:40:36 +0000 (16:40 -0400)]
perldelta for b5bbe64.

7 years agoPut back an #if-0-ed chunk 7053d92 removed.
Jarkko Hietaniemi [Fri, 13 Jun 2014 19:58:09 +0000 (15:58 -0400)]
Put back an #if-0-ed chunk 7053d92 removed.

The chunk is not MAD-related but instead locale stuff.  I have no idea
why that chunk got removed (I used a combination of unifdef(1) and editor).
It's #if-0-ed, so no change of behavior either way, but let's keep
the code for now, since it seems to have "historical significance".

7 years agoRemove MAD.
Jarkko Hietaniemi [Fri, 13 Jun 2014 19:21:25 +0000 (15:21 -0400)]
Remove MAD.

MAD = Misc Attribute Decoration; unmaintained attempt at preserving
the Perl parse tree more faithfully so that automatic conversion to
Perl 6 would have been easier.

7 years agoAdd note to 'encoding' pod that it's removed
Karl Williamson [Fri, 13 Jun 2014 19:00:48 +0000 (13:00 -0600)]
Add note to 'encoding' pod that it's removed

In commit  b06e47f717f77453fbdaef628efc2b9c83898a8b, I forgot to
note in the pragma's pod that it now is unusable.

7 years agoExperimentally cause 'use encoding' to fail.
Karl Williamson [Fri, 13 Jun 2014 17:18:01 +0000 (11:18 -0600)]
Experimentally cause 'use encoding' to fail.

This actually doesn't remove it, but causes any program that does use it
to die.  Its use has raised a (default-on) deprecation warning since
5.18, but its demise was omitted from the perldelta for v5.20.

This commit does the minimum necessary to flush out what might break by
its actual removal, while being easily revertable should that become

7 years agopp.c: Add comment
Karl Williamson [Fri, 13 Jun 2014 17:08:28 +0000 (11:08 -0600)]
pp.c: Add comment

7 years agoperldelta: Add entry for new XS macro isUTF8_CHAR
Karl Williamson [Fri, 13 Jun 2014 16:19:00 +0000 (10:19 -0600)]
perldelta: Add entry for new XS macro isUTF8_CHAR

7 years agoSuppress the pm_to_blib spammage during make
Chris 'BinGOs' Williams [Fri, 13 Jun 2014 13:14:18 +0000 (14:14 +0100)]
Suppress the pm_to_blib spammage during make

7 years ago[perl #121126] - Allow deparse tests to skip/ignore expected failures.
Matthew Horsfall (alh) [Fri, 13 Jun 2014 13:10:19 +0000 (09:10 -0400)]
[perl #121126] - Allow deparse tests to skip/ignore expected failures.

This will allow us to set up a deparse smoker to keep track of B::Deparse's

With this, the test run:

 TEST_ARGS=-deparse make test

will "pass" currently.

If deparsing capabilities get worse, new failures will show up and should
be fixed or added to Porting/deparse-skips.txt.

If things get fixed, the test will fail noting that something has passed
when it shouldn't have, and the test in question should be removed from

Use the KEEP_DEPARSE_FILES=1 environment setting to have the deparse
test files left around after a test run for examination/re-running.

7 years agoDeprecate unescaped literal "{" in regex patterns
Karl Williamson [Fri, 13 Jun 2014 03:50:29 +0000 (21:50 -0600)]
Deprecate unescaped literal "{" in regex patterns

This commit also causes escaped (by a backslash) "(", "[", and "{" to be
considered literally.  In the previous 2 Perl versions, the escaping was
ignored, and a (default-on) deprecation warning was raised.  Now that we
have warned for 2 release cycles, we can change the meaning.of escaping
to actually do something

Warning when a literal left brace is not escaped by a backslash, will
allow us to eventually use this character in more contexts as being
meta, allowing us to extend the language.  For example, the lower limit
of a quantifier could be omited, and better error checking instituted,
or things like \w could be followed by a {...} indicating some special
word character, like \w{Greek} to restrict to just Greek word

We tried to do this in v5.16, and many CPAN modules changed to backslash
their left braces at that time.  However we had to back out that change
before 5.16 shipped because it turned out that escaping a left brace in
some contexts didn't work, namely when the brace would normally be a
metacharacter (for example surrounding a quantifier), and the pattern
delimiters were { }.  Instead we raised the useless backslash warning
mentioned above, which has now been there for the requisite 2 cycles.

This patch partially reverts 2 patches.  The first,
e62d0b1335a7959680be5f7e56910067d6f33c1f, partially reverted
the deprecation of unescaped literal left brace.  The other,
4d68ffa0f7f345bc1ae6751744518ba4bc3859bd, instituted the deprecation of
the useless left-characters.

Note that, as in the original attempt to deprecate,  we don't raise a
warning if the left brace is the first character in the pattern.  This
is because in that position it can't be a metacharacter, so we don't
require any disambiguation, and we found that if we did raise an error,
there were quite a few places where this occurred.

7 years agotoke.c: Change S_scan_str parameter meaning
Karl Williamson [Thu, 12 Jun 2014 19:37:30 +0000 (13:37 -0600)]
toke.c: Change S_scan_str parameter meaning

The 'keep_bracketed' parameter is used to tell this static function to
not delete the escaping backslash if the string's delimiter character is
also found within the interior of the string.

This parameter is always currently false, except when compiled with
PERL_MAD.  However it has been Okayed to remove this compilation option,
so the parameter can be changed to whatever is desired.

A future commit will change this parameter to be true sometimes.  In
doing so, it sets up a conflict with the fairly new 're_reparse'
parameter (this conflict also exists with PERL_MAD, but clearly nobody
has tried to compile it that way for a while)

However the new conflict only happens when the opening delimiter of the
string is the same as the closing one, and happily the new commits only
need to have this parameter be true when the opening and closing are
different, so things can be set up so that there is actually no
conflict, given that MAD is being removed.

At the time that scan_str is called, what the delimiters are is not
necessarily known, so this commit refactors the meaning of the parameter
to be TRUE iff the delimiters that scan_str finds actually differ.  It
renames the parameter to indicate this.

7 years agoperldelta for 0b0a072
Brian Fraser [Thu, 12 Jun 2014 22:57:44 +0000 (00:57 +0200)]
perldelta for 0b0a072

7 years agoperldelta for 9be9e8a
Matthew Horsfall (alh) [Thu, 12 Jun 2014 22:48:34 +0000 (18:48 -0400)]
perldelta for 9be9e8a

7 years agoperldelta for 94d4006
Matthew Horsfall (alh) [Thu, 12 Jun 2014 22:35:37 +0000 (18:35 -0400)]
perldelta for 94d4006

7 years agoSilence several -Wunused-parameter warnings about my_perl
Brian Fraser [Sat, 31 May 2014 14:54:22 +0000 (16:54 +0200)]
Silence several -Wunused-parameter warnings about my_perl

This meant sprinkling some PERL_UNUSED_CONTEXT invocations,
as well as stopping some functions from getting my_perl in
the first place; all of the functions in the latter category
are internal (S_ prefix and s or i in embed.fnc), so
this should be both safe and economical.

7 years agoAdded several missing PERL_UNUSED_RESULT()
Brian Fraser [Fri, 30 May 2014 23:28:18 +0000 (01:28 +0200)]
Added several missing PERL_UNUSED_RESULT()

7 years agoRemoved set_emergency_buffer from malloc.c
Brian Fraser [Fri, 30 May 2014 23:24:52 +0000 (01:24 +0200)]
Removed set_emergency_buffer from malloc.c

This was added in 2003, but never used.

7 years agoMark several functions with __attribute__noreturn__
Brian Fraser [Fri, 30 May 2014 23:19:27 +0000 (01:19 +0200)]
Mark several functions with __attribute__noreturn__

Namely, die_nocontext, die, die_sv, and screaminstr. They
all croak and never return, so let's mark them as non-returning.

7 years agoCast %p arguments to (void*)
Brian Fraser [Fri, 30 May 2014 23:16:46 +0000 (01:16 +0200)]
Cast %p arguments to (void*)

These were all part of debugging statements; the commit silences
a chunk of warnings under -Wformat

7 years agoAdding missing SVfARG() invocations
Brian Fraser [Fri, 30 May 2014 23:15:42 +0000 (01:15 +0200)]
Adding missing SVfARG() invocations

This silences a chunk of warnings under -Wformat

7 years agoAdding missing HEKfARG() invocations
Brian Fraser [Fri, 30 May 2014 23:13:26 +0000 (01:13 +0200)]
Adding missing HEKfARG() invocations

This silences a chunk of warnings under -Wformat

7 years agoProtect against ptrdiff_t not being available.
Brian Fraser [Fri, 30 May 2014 23:10:20 +0000 (01:10 +0200)]
Protect against ptrdiff_t not being available.

This is primarily for pedantic builds; ptrdiff_t is now standard,
and had already been in use in the core without guards.

7 years agoPOSIX.xs: Fix typo.
Karl Williamson [Thu, 12 Jun 2014 21:15:44 +0000 (15:15 -0600)]
POSIX.xs: Fix typo.

I haven't gotten used to my new keyboard, and missed this lowercase
letter that should have been uppercase.  Spotted by Dennis Kaarsemaker

7 years agoFix some compilation warnings
Karl Williamson [Thu, 12 Jun 2014 20:35:45 +0000 (14:35 -0600)]
Fix some compilation warnings

After commits d6ded95025185cb1ec8ca3ba5879cab881d8b180 and
130c5df3625bd130cd1e2771308fcd4eb66cebb2, there are some compilation
warnings if not all locale categories are used.

7 years agopp.c: Fix Win32 compilation problems
Karl Williamson [Thu, 12 Jun 2014 20:31:24 +0000 (14:31 -0600)]
pp.c: Fix Win32 compilation problems

Commit 130c5df3625bd130cd1e2771308fcd4eb66cebb2 introduced errors into
Windows (at least) compilations because it used #if's in the middle of
apparent function calls, but these were really macros that turned the
function call foo() into a call of Perl_foo(), and so we were doing
an #if from within a #define which is not generally legal.

7 years agoAllow to compile if don't have LC_CTYPE etc defined
Karl Williamson [Thu, 12 Jun 2014 19:26:24 +0000 (13:26 -0600)]
Allow to compile if don't have LC_CTYPE etc defined

Commit d6ded95025185cb1ec8ca3ba5879cab881d8b180 introduced
the ability to specify individual category parameters to 'use locale'.
However in doing so, it causes Perl to not be able to compile on
platforms that don't have some or all of those categories defined, such
as Android.  This commit uses #ifdefs to remedy that.

7 years agoregen podcheck.t db
Karl Williamson [Thu, 12 Jun 2014 19:24:13 +0000 (13:24 -0600)]
regen podcheck.t db

Several recent commits just changed the db manually, and in doing so
made incorrect changes.  It should instead be regenerated by machine
with the -regen parameter.

7 years agopp.c: Vertically stack ternary operators
Karl Williamson [Thu, 12 Jun 2014 18:06:02 +0000 (12:06 -0600)]
pp.c: Vertically stack ternary operators

This is for comprehensibility and to make a future commit easier.

7 years agoperldelta for 470dd22
Matthew Horsfall (alh) [Thu, 12 Jun 2014 17:05:35 +0000 (13:05 -0400)]
perldelta for 470dd22

7 years agoperldelta for 7fefc6c, dcccc8f, f83c603
Matthew Horsfall (alh) [Thu, 12 Jun 2014 11:01:57 +0000 (07:01 -0400)]
perldelta for 7fefc6c, dcccc8f, f83c603

7 years agoperldelta for c2b90b61b509, 4662a0593217, 46e2868e06e3
Tony Cook [Thu, 12 Jun 2014 05:24:32 +0000 (15:24 +1000)]
perldelta for c2b90b61b5094662a059321746e2868e06e3

7 years agosome perldelta fixes
Tony Cook [Thu, 12 Jun 2014 05:09:53 +0000 (15:09 +1000)]
some perldelta fixes

- move the utf8::downgrade() note out of the middle of the

- give the Unicode::Collate entry back its =item

- move the Hash::Util entry into alphabetical order

7 years agobump $VERSION for PerlIO-encoding, PerlIO-mmap, PerlIO-scalar, OS2-Process
Tony Cook [Thu, 12 Jun 2014 04:06:25 +0000 (14:06 +1000)]
bump $VERSION for PerlIO-encoding, PerlIO-mmap, PerlIO-scalar, OS2-Process

7 years agoChange sv_catpvn(…, "…", …) to sv_catpvs(…, "…")
Dagfinn Ilmari Mannsåker [Mon, 9 Jun 2014 17:53:36 +0000 (18:53 +0100)]
Change sv_catpvn(…, "…", …) to sv_catpvs(…, "…")

The dual-life dist affected uses Devel::PPPort, so can safely use
sv_catpvs() even though it wasn't added until Perl v5.8.9.

7 years agotest for the Data::Dumper bug fixed by "Change newSVpvn("…", …) to newSVpvs("…")"
Tony Cook [Thu, 12 Jun 2014 03:50:22 +0000 (13:50 +1000)]
test for the Data::Dumper bug fixed by "Change newSVpvn("…", …) to newSVpvs("…")"

7 years agoChange newSVpvn("…", …) to newSVpvs("…")
Dagfinn Ilmari Mannsåker [Fri, 4 Oct 2013 15:48:40 +0000 (16:48 +0100)]
Change newSVpvn("…", …) to newSVpvs("…")

The dual-life dists affected use Devel::PPPort, so can safely use
newSVpvs() even though it wasn't added until Perl v5.8.9.

7 years agoBring a few lines in under 80 cols.
kafka [Thu, 12 Jun 2014 01:18:09 +0000 (21:18 -0400)]
Bring a few lines in under 80 cols.

Remove entry for storable in known_pod_issues.
Increment Storable version number.


7 years agoSvREFCNT_dec_NN in pp_require
Daniel Dragan [Mon, 9 Jun 2014 09:50:19 +0000 (05:50 -0400)]
SvREFCNT_dec_NN in pp_require

Some compilers (GCC) will inline+optimize this, some don't (Visual C). Make
it clear to not check for null twice.

7 years agoRemove entries for and CoreList.pod.
James E Keenan [Thu, 12 Jun 2014 00:57:39 +0000 (20:57 -0400)]
Remove entries for and CoreList.pod.

Follow up to earlier POD corrections.  See: RT #121873 and #121822.

7 years agoBring a few lines in under 80 cols.
kafka [Mon, 12 May 2014 17:13:43 +0000 (19:13 +0200)]
Bring a few lines in under 80 cols.

Bump version number in
Remove 'selfloader' entry from known_pod_issues.


7 years agoC backtrace tweaks.
Jarkko Hietaniemi [Wed, 11 Jun 2014 22:41:07 +0000 (18:41 -0400)]
C backtrace tweaks.

Rename the environment variable that triggers the backtrace before
warns and croaks as PERL_USE_C_BACKTRACE_ON_ERROR (and correspondingly,
the define as USE_C_BACKTRACE_ON_ERROR).

Pod cleanups and updates, and move the needed #includes from perl.h
to util.c since that's the only place where they are needed.

7 years agoperldelta for 808cb9e
Matthew Horsfall (alh) [Thu, 12 Jun 2014 00:10:22 +0000 (20:10 -0400)]
perldelta for 808cb9e

7 years agoperldelta for 30a1535
Matthew Horsfall (alh) [Thu, 12 Jun 2014 00:05:37 +0000 (20:05 -0400)]
perldelta for 30a1535

7 years agoperldelta for 2d8eb85
Matthew Horsfall (alh) [Wed, 11 Jun 2014 23:53:25 +0000 (19:53 -0400)]
perldelta for 2d8eb85

7 years agoperldelta for 53cb238
Matthew Horsfall (alh) [Wed, 11 Jun 2014 23:47:14 +0000 (19:47 -0400)]
perldelta for 53cb238

7 years agoperldelta for 8be3c4c
Matthew Horsfall (alh) [Wed, 11 Jun 2014 23:40:17 +0000 (19:40 -0400)]
perldelta for 8be3c4c

7 years agoperldelta for e5a8a0f.
Matthew Horsfall (alh) [Wed, 11 Jun 2014 23:10:44 +0000 (19:10 -0400)]
perldelta for e5a8a0f.

Also update the perldelta template since it mentioned x2p

7 years agoRemoved NeXT support
Brian Fraser [Tue, 3 Jun 2014 16:58:50 +0000 (18:58 +0200)]
Removed NeXT support

7 years agoUpdate Test-Harness to CPAN version 3.32
Chris 'BinGOs' Williams [Wed, 11 Jun 2014 17:03:40 +0000 (18:03 +0100)]
Update Test-Harness to CPAN version 3.32


3.32    2014-06-11
        - Remove harness_class from argument hash in T::H::E (Leon Timmermans)

7 years agoperldelta for be075ca, 037ab3f
Matthew Horsfall (alh) [Wed, 11 Jun 2014 13:54:20 +0000 (09:54 -0400)]
perldelta for be075ca, 037ab3f

7 years agoperldelta for 461a975
Matthew Horsfall (alh) [Wed, 11 Jun 2014 13:39:21 +0000 (09:39 -0400)]
perldelta for 461a975

7 years agoperldelta for coverity fixes
Matthew Horsfall (alh) [Wed, 11 Jun 2014 13:30:55 +0000 (09:30 -0400)]
perldelta for coverity fixes

7 years agoperldelta for b3cf482, 4fa715f
Matthew Horsfall (alh) [Wed, 11 Jun 2014 13:23:16 +0000 (09:23 -0400)]
perldelta for b3cf482, 4fa715f

7 years agoperldelta for ae07d0f
Matthew Horsfall (alh) [Wed, 11 Jun 2014 12:44:20 +0000 (08:44 -0400)]
perldelta for ae07d0f

7 years agoperldelta for bd47baf
Matthew Horsfall (alh) [Wed, 11 Jun 2014 12:38:12 +0000 (08:38 -0400)]
perldelta for bd47baf

7 years agoperldelta for 725995b
Matthew Horsfall (alh) [Wed, 11 Jun 2014 12:28:43 +0000 (08:28 -0400)]
perldelta for 725995b

7 years ago[perl #121585] Configure shouldn't write source tree
H.Merijn Brand [Wed, 11 Jun 2014 07:45:50 +0000 (09:45 +0200)]
[perl #121585] Configure shouldn't write source tree

7 years agoFix cbacktrace
H.Merijn Brand [Wed, 11 Jun 2014 07:45:44 +0000 (09:45 +0200)]
Fix cbacktrace

7 years agoFix i_bfd
H.Merijn Brand [Wed, 11 Jun 2014 07:09:04 +0000 (09:09 +0200)]
Fix i_bfd

The final i_bfd statement was a wrong copy-paste

re-order Configure: in preparation of backporting this change and
integration of another, some reorder is required

7 years agoAndrew Fresh is now a perl author
Tony Cook [Wed, 11 Jun 2014 04:52:26 +0000 (14:52 +1000)]
Andrew Fresh is now a perl author

7 years agoDefault to using OpenBSD's malloc
Andrew Fresh [Sat, 31 May 2014 17:30:40 +0000 (10:30 -0700)]
Default to using OpenBSD's malloc

While perl bug #75742 successfully convinced p5p that the speed of the
OpenBSD malloc was a good enough reason to instead use perl's malloc,
the system malloc has many security features that OpenBSD users expect.

The system malloc has always been used in the base system perl.

While the is slower than the perl malloc, the OpenBSD project believes
the tradeoff is worth it and would prefer that users who need the speed
specifically ask for it.

7 years agoCorrect architectures and versions for hints
Andrew Fresh [Sun, 1 Jun 2014 18:00:39 +0000 (11:00 -0700)]
Correct architectures and versions for hints

Over time, OpenBSD has kept this up-to-date locally without enough
patches going upstream.

This should bring perl in sync with reality.

7 years agocorrect handling of buffer sizes for POSIX::strxfrm()
Tony Cook [Wed, 11 Jun 2014 01:29:55 +0000 (11:29 +1000)]
correct handling of buffer sizes for POSIX::strxfrm()

There were two problems:

1) we allocated srclen*4+1, but then only supplied srclen to the first
  strxfrm() call, which meant we could be "failing" the strfrm()

2) the return value of the first strxfrm() was being handled correctly,
  the contents of the output buffer supplied to strxfrm() is indeterminate
  when the return value is the buffer size or larger, so we should
  make a new call then.

7 years agoLocale tests assumed POSIX, not true in minitest.
Jarkko Hietaniemi [Wed, 11 Jun 2014 00:18:50 +0000 (20:18 -0400)]
Locale tests assumed POSIX, not true in minitest.

7 years agoperldelta for 7ac929242683
Tony Cook [Tue, 10 Jun 2014 00:39:49 +0000 (10:39 +1000)]
perldelta for 7ac929242683

7 years agoadd a warning for using the :win32 PerlIO layer
Tony Cook [Tue, 3 Jun 2014 06:56:40 +0000 (16:56 +1000)]
add a warning for using the :win32 PerlIO layer

7 years ago[perl #121733] fix t/op/stat.t 96 for windows
Reini Urban [Tue, 10 Jun 2014 00:15:23 +0000 (10:15 +1000)]
[perl #121733] fix t/op/stat.t 96 for windows

Tony: fixes for minitest

7 years ago[perl #121732] fix t/op/filetest.t for windows
Reini Urban [Mon, 9 Jun 2014 06:55:09 +0000 (16:55 +1000)]
[perl #121732] fix t/op/filetest.t for windows

Tony: fix for minitest

7 years agobump Benchmark version
David Mitchell [Mon, 9 Jun 2014 17:29:29 +0000 (18:29 +0100)]
bump Benchmark version

(whoops, I failed to run a full make test before my last commit)

7 years avoid long walltime on calibration
David Mitchell [Mon, 9 Jun 2014 10:41:22 +0000 (11:41 +0100)] avoid long walltime on calibration

RT #122003

runloop() in does the equivalent of the following:

    $t = (times)[0];
    while ($t == (times)[0]) {}

so that it finishes in a position where the user CPU counter has just

This is all well and good, but on some platforms (specifically OpenBSD
running under VirtualBox), the system CPU burned each time round the loop
to get times() is far greater than the user CPU burned. This can cause the
loop to run for minutes consuming system CPU until enough user CPU has
been burned to tick the user CPU counter.

The fix in this commit is to replace the empty body of the while loop with
something that does a gradually increasing amount of busy work.

7 years agoEliminate VMS-specific code in PerlIOStdio_fill.
Craig A. Berry [Sun, 8 Jun 2014 23:14:57 +0000 (18:14 -0500)]
Eliminate VMS-specific code in PerlIOStdio_fill.

The same logic but with more safety checks is already defined for
PerlSIO_ungetc in iperlsys.h, so DRY says we should just use that.

Also, that definition in iperlsys.h really depends on the library
we are using, not the compiler.  And there is only one viable C
library on VMS and it ships with the OS, so it's really just an
OS dependency.

N.B.  While it may be something of a fool's errand to maintain the
stdio layer, deleting redundant code can only be a good thing,
possibly enabling further refactoring and clean-up.

7 years agoremove 1 read of interp var from PUSHMARK
Daniel Dragan [Thu, 5 Jun 2014 03:17:39 +0000 (23:17 -0400)]
remove 1 read of interp var from PUSHMARK

PL_markstack_ptr was read once to do the ++ and comparison. Then after
the markstack_grow call, or not, depending on the branch. The code reads
PL_markstack_ptr a 2nd time. It has to be reread in case (or always does)
markstack_grow reallocs the mark stack. markstack_grow has a void retval.
That is a waste of a register. Let us put it to use to return the new
PL_markstack_ptr. In markstack_grow the contents that will be assigned to
PL_markstack_ptr are already in a register. So let the I32* flow out from
markstack_grow to its caller.

In VC2003 32 bit asm, mark_stack_entry is register eax. The retval of
markstack_grow is in eax. So the assignment "=" in
"mark_stack_entry = markstack_grow();" has no overhead. Since the other,
not extend branch, is function call free,
"(mark_stack_entry = ++PL_markstack_ptr)" assigns to eax. Ultimatly with
this patch a 3 byte mov instruction is saved for each instance of PUSHMARK,
and 1 interp var read is removed. I observed 42 callers of markstack_grow
with my disassembler, so theoretically 3*42 bytes of machine code was
removed for me.

Perl_pp_pushmark dropped from 0x2b to 0x28 bytes of x86 VC 2003
machine code. [perl #122034]

7 years agoDocument that "exec LIST" and "system LIST" may fall back to the shell on Win32
Thomas Sibley [Thu, 5 Jun 2014 17:17:42 +0000 (10:17 -0700)]
Document that "exec LIST" and "system LIST" may fall back to the shell on Win32

As noted on p5p [1] and subsequently discussed [2].

The Win32 functions for handling exec() and system() attempt to
specially handle shell builtins by catching spawn failures and
re-attempting the spawn using the shell with the given argument LIST.

If "exec PROGRAM LIST" syntax (or the equivalent for system()) is used,
then only the specified PROGRAM will ever be run (although Perl will
still try the spawn twice on Win32 if PROGRAM doesn't exist or otherwise
can't be executed).


7 years agoSmall grammatical fix.
James E Keenan [Sun, 8 Jun 2014 15:18:58 +0000 (11:18 -0400)]
Small grammatical fix.

7 years agoAdd C backtrace API.
Jarkko Hietaniemi [Tue, 3 Jun 2014 12:39:56 +0000 (08:39 -0400)]
Add C backtrace API.

Useful for at least debugging.

Supported in Linux and OS X (possibly to some extent in *BSD).

See perlhacktips for details.

7 years agoUpdate Test-Harness to CPAN version 3.31
Chris 'BinGOs' Williams [Sat, 7 Jun 2014 22:08:32 +0000 (23:08 +0100)]
Update Test-Harness to CPAN version 3.31


3.31    2014-06-07
        - Implement external rulesfile for TAP::Harness (David Golden)
        - Add harness_class argument to TAP::Harness::Env (Leon Timmermans)
        - Make prove respect environmental variables #28 (Leon Timmermans)

7 years agoSync autouse version for recent CPAN release
Chris 'BinGOs' Williams [Sat, 7 Jun 2014 22:07:09 +0000 (23:07 +0100)]
Sync autouse version for recent CPAN release

7 years agolocale.c: Fix uncomplemented 'if' test
Karl Williamson [Fri, 6 Jun 2014 20:43:04 +0000 (14:43 -0600)]
locale.c: Fix uncomplemented 'if' test

Somehow the ! in this if () got dropped, and there were no tests to
catch it.  Now both are remedied.

7 years agoPOSIX.xs: Add a const to a parameter
Karl Williamson [Fri, 6 Jun 2014 19:13:25 +0000 (13:13 -0600)]
POSIX.xs: Add a const to a parameter

7 years agoperlapi: Nit, and mention NUL for some functions
Karl Williamson [Fri, 6 Jun 2014 19:11:55 +0000 (13:11 -0600)]
perlapi: Nit, and mention NUL for some functions

This adds the mention of embedded or terminating NULs for some functions
where it wasn't previously indicated.

7 years agostrftime: Set UTF-8 flag appropriately on return
Karl Williamson [Fri, 6 Jun 2014 19:08:17 +0000 (13:08 -0600)]
strftime: Set UTF-8 flag appropriately on return

The flag was only getting set if the format was in UTF-8.  This looks at
the return values, and sets the flag if they are non-ASCII UTF-8 and, as
a further check, if the current locale is a UTF-8 one.

7 years agoPATCH: [perl #119425] strftime with %p
Karl Williamson [Fri, 6 Jun 2014 19:04:55 +0000 (13:04 -0600)]
PATCH: [perl #119425] strftime with %p

In a locale in which there is no a.m. nor p.m. indicator, a format with
only %p in it would print %p instead of nothing.

7 years agolib/locale.t: Change acceptable fail % for Win32
Karl Williamson [Fri, 6 Jun 2014 16:29:28 +0000 (10:29 -0600)]
lib/locale.t: Change acceptable fail % for Win32

Commit 375f5f0648cdf36c13cb11499b332c99c710d138 fixed the Windows ctype
functions to follow POSIX rules, so there is no need to make an
exception for them.

7 years agofix locale.c under -DPERL_GLOBAL_STRUCT
David Mitchell [Sat, 7 Jun 2014 13:16:21 +0000 (14:16 +0100)]
fix locale.c under -DPERL_GLOBAL_STRUCT

7 years agoCorrect socksizetype on VMS.
Craig A. Berry [Fri, 6 Jun 2014 19:12:19 +0000 (14:12 -0500)]
Correct socksizetype on VMS.

This was modified to comply with the standard in DEC C 5.0.  The
last 5.x release was 5.7 in 1998 and we've long since required
at least 6.0 to build Perl.  So this change is a wee bit behind

7 years agoRefactor some compiler-based hints in
Craig A. Berry [Fri, 6 Jun 2014 14:05:13 +0000 (09:05 -0500)]
Refactor some compiler-based hints in

Once upon a time, there was VAX C, and there was a port of GCC
2.something that used the same library.  These both only ran on VAX
and both became obsolete years ago.  When DEC/Compaq/HP C came
along, it had its own library (typically referred to simply as
"the CRTL") that shipped with the operating system.  It was thus
natural to determine the presence or absence of a library function
based on the compiler choice, as that implied a library choice.

But there is now no choice of library nor has been for many years.
The CRTL is it, and even a new port of GCC (which apparently exists
in some form as part of Ada Core's toolchain) would almost
certainly use it.  So stop using the selected compiler to decide
whether a library function is present or not.

7 years agoSync ExtUtils-Install version for CPAN release
Chris 'BinGOs' Williams [Fri, 6 Jun 2014 15:06:43 +0000 (16:06 +0100)]
Sync ExtUtils-Install version for CPAN release

7 years agoupdate release schedule
Ricardo Signes [Fri, 6 Jun 2014 01:23:58 +0000 (21:23 -0400)]
update release schedule

7 years agoperlapi: Place in dictionary sort order
Karl Williamson [Thu, 5 Jun 2014 20:58:49 +0000 (14:58 -0600)]
perlapi: Place in dictionary sort order

Underscores or their lack can confuse people in finding sorted items.

7 years agoperlapi: Refactor placements, headings of some functions
Karl Williamson [Thu, 5 Jun 2014 20:29:44 +0000 (14:29 -0600)]
perlapi: Refactor placements, headings of some functions

It is not very user friendly to list functions as
"Functions found in file FOO".  Better is to group them by purpose, as
many were already.  I went through and placed the ones that weren't
already so grouped into groups.  Patches welcome if you have a better

I changed the headings of some so that the important disctinction was
the first word so that they are placed in the file more appropriately.

And a couple of ones that I had created myself, I came up with a name
that I think is better than the original

7 years agoperlapi: Include general information
Karl Williamson [Thu, 5 Jun 2014 20:22:50 +0000 (14:22 -0600)]
perlapi: Include general information

Unlike other pod handling routines, autodoc requires the line following
an =head1 to be non-empty for its text to be included in the paragraph
started by the heading.  If you fail to do this, silently the text will
be omitted from perlapi.  I went through the source code, and where it
was apparent that the text was supposed to be in perlapi, deleted the
empty line so it would be, with some revisions to make more sense.

I added =cuts where I thought it best for the text to not be included.