This is a live mirror of the Perl 5 development currently hosted at
8 years agoPerl 5.20.2-RC1 today
Steve Hay [Sat, 31 Jan 2015 23:56:58 +0000 (23:56 +0000)]
Perl 5.20.2-RC1 today

Well, it's almost "tomorrow" where I am, but in my mind it's still "today".

8 years agoRMG - Module::CoreList's CAVEATS is no longer updated, since 64eeb2c06c
Steve Hay [Sat, 31 Jan 2015 23:45:30 +0000 (23:45 +0000)]
RMG - Module::CoreList's CAVEATS is no longer updated, since 64eeb2c06c

8 years agoUpdate Module-CoreList for 5.20.2
Steve Hay [Sat, 31 Jan 2015 22:48:53 +0000 (22:48 +0000)]
Update Module-CoreList for 5.20.2

These are changes for the impending 5.20.2-RC1 release, for cherry-picking
back into maint-5.20.

8 years agoTest-Simple Version Bump, 1.301001_098 (RC18)
Chad Granum [Sat, 31 Jan 2015 20:19:22 +0000 (12:19 -0800)]
Test-Simple Version Bump, 1.301001_098 (RC18)

8 years agoSort perldiag
Father Chrysostomos [Sat, 31 Jan 2015 17:34:34 +0000 (09:34 -0800)]
Sort perldiag

8 years agoBump Encode::Unicode $VERSION
Steve Hay [Sat, 31 Jan 2015 21:52:43 +0000 (21:52 +0000)]
Bump Encode::Unicode $VERSION

To keep Porting\ --tag v5.20.1 happy.

8 years agoBump $Encode::encoding::VERSION
Steve Hay [Sat, 31 Jan 2015 21:30:41 +0000 (21:30 +0000)]
Bump $Encode::encoding::VERSION

Already noted as CUSTOMIZED by 3e669301f0 (which omitted the $VERSION bump).

8 years agoBump VMS::Stdio $VERSION
Steve Hay [Sat, 31 Jan 2015 20:55:21 +0000 (20:55 +0000)]
Bump VMS::Stdio $VERSION

To keep Porting\ --tag v5.18.4 happy.

8 years agoBump Pod::PlainText $VERSION
Steve Hay [Sat, 31 Jan 2015 20:50:59 +0000 (20:50 +0000)]
Bump Pod::PlainText $VERSION

To keep Porting\ --tag v5.18.4 happy.

8 years agoBump some CPAN $VERSIONs
Steve Hay [Sat, 31 Jan 2015 20:38:40 +0000 (20:38 +0000)]
Bump some CPAN $VERSIONs

To keep Porting\ --tag v5.18.4 happy.

8 years agoPorting/ - Show $VERSION of failing modules
Steve Hay [Sat, 31 Jan 2015 19:55:16 +0000 (19:55 +0000)]
Porting/ - Show $VERSION of failing modules

These are the $VERSIONs of modules with differing contents between two
versions of Perl. This $pm_version should have been bumped to differ from

8 years agoRMG - Remove a trailing space
Steve Hay [Sat, 31 Jan 2015 17:03:04 +0000 (17:03 +0000)]
RMG - Remove a trailing space

8 years agoRMG - Put all version-bump related information about INSTALL in one place
Steve Hay [Sat, 31 Jan 2015 15:19:40 +0000 (15:19 +0000)]
RMG - Put all version-bump related information about INSTALL in one place

Also correct the phrase referred to by the RMG to match what INSTALL
actualy says, and change the wording of one section of INSTALL to match the

8 years agoRMG - Consistent four-space indent; wrap all lines to 79 characters
Steve Hay [Sat, 31 Jan 2015 14:57:09 +0000 (14:57 +0000)]
RMG - Consistent four-space indent; wrap all lines to 79 characters

8 years agoRMG - Module/CoreList.pod is no longer updated, since 64eeb2c06c
Steve Hay [Sat, 31 Jan 2015 13:48:10 +0000 (13:48 +0000)]
RMG - Module/CoreList.pod is no longer updated, since 64eeb2c06c

8 years agoRMG - Show correct Porting/ command for MAINT releases
Steve Hay [Sat, 31 Jan 2015 13:43:32 +0000 (13:43 +0000)]
RMG - Show correct Porting/ command for MAINT releases

8 years agoExternalize decc$ungetc prototype.
Craig A. Berry [Fri, 30 Jan 2015 04:06:44 +0000 (22:06 -0600)]
Externalize decc$ungetc prototype.

Otherwise the VMS C++ compiler mangles it and we get a link

And while we're there we can eliminate some PerlIO workarounds
for problems in long-defunct versions of the CRTL.

8 years agoTODO Peek.t test on VMS.
Craig A. Berry [Fri, 30 Jan 2015 03:50:53 +0000 (21:50 -0600)]
TODO Peek.t test on VMS.

DumpProg() works just fine but when piped through the broken pipe
implementation produces spurious newlines.  So mark it TODO on VMS.

8 years agoCorrections to spelling and grammatical errors.
Lajos Veres [Fri, 30 Jan 2015 00:32:16 +0000 (19:32 -0500)]
Corrections to spelling and grammatical errors.

Extracted from patch submitted by Lajos Veres in RT #123693.

This commit applies those patches to files under dist/ *other than* those
pertaining to Tie-File.

Update $VERSION in and after re-applying patches from RT

8 years agoRevert "Corrections to spelling and grammatical errors."
James E Keenan [Fri, 30 Jan 2015 00:21:52 +0000 (19:21 -0500)]
Revert "Corrections to spelling and grammatical errors."

This reverts commit 5bf4b3bf13bc4055684a48448b05920845ef7764.

On p5p-list, Steve Hay wrote on 2015-01-29:

"... these and other changes to Tie-File could break backwards compatibility.
The keys of %opt are passed in from user code, so we can't change the expected
key from "autodefer_threshhold" to "autodefer_threshold" without also asking
users to change their code, which is probably more hassle than it's worth."

Parts of the reverted commit will be re-committed from a new patch.

8 years agoRMG - Note that Porting/ should be used to check more releases
Steve Hay [Thu, 29 Jan 2015 14:23:37 +0000 (14:23 +0000)]
RMG - Note that Porting/ should be used to check more releases

t/porting/cmp_version.t only runs Porting/ for the previous
release of the current branch, but we need to check that our versions
differ from modules in releases from other branches too. For example,
when releasing 5.20.2 we need to check against 5.18.4 too.

8 years agoperldelta for 1ead70b69c
Steve Hay [Thu, 29 Jan 2015 14:07:56 +0000 (14:07 +0000)]
perldelta for 1ead70b69c

8 years agoUpgrade Win32API-File from version 0.1201 to 0.1202
Steve Hay [Thu, 29 Jan 2015 14:02:36 +0000 (14:02 +0000)]
Upgrade Win32API-File from version 0.1201 to 0.1202

8 years agot/op/taint.t - Fix typo
Steve Hay [Thu, 29 Jan 2015 13:29:16 +0000 (13:29 +0000)]
t/op/taint.t - Fix typo

8 years agoExtUtils::Miniperl - Restore a missing line of POD
Steve Hay [Thu, 29 Jan 2015 13:29:03 +0000 (13:29 +0000)]
ExtUtils::Miniperl - Restore a missing line of POD

This seems to have been accidentally deleted by commit a06cd52b4e.

8 years agoPorting/ - Fix grammar
Steve Hay [Thu, 29 Jan 2015 13:28:32 +0000 (13:28 +0000)]
Porting/ - Fix grammar

8 years agoCorrections to spelling and grammatical errors.
Lajos Veres [Thu, 29 Jan 2015 02:57:13 +0000 (21:57 -0500)]
Corrections to spelling and grammatical errors.

Extracted from patch submitted by Lajos Veres in RT #123693.

8 years agoCorrections to spelling and grammatical errors.
Lajos Veres [Thu, 29 Jan 2015 02:52:06 +0000 (21:52 -0500)]
Corrections to spelling and grammatical errors.

Extracted from patch submitted by Lajos Veres in RT #123693.

8 years agoCorrections to spelling and grammatical errors.
Lajos Veres [Thu, 29 Jan 2015 02:44:46 +0000 (21:44 -0500)]
Corrections to spelling and grammatical errors.

Extracted from patch submitted by Lajos Veres in RT #123693.

8 years agoCorrections to spelling and grammatical errors.
Lajos Veres [Thu, 29 Jan 2015 02:35:45 +0000 (21:35 -0500)]
Corrections to spelling and grammatical errors.

Extracted from patch submitted by Lajos Veres in RT #123693.

8 years agoCorrections to spelling and grammatical errors.
Lajos Veres [Thu, 29 Jan 2015 02:27:08 +0000 (21:27 -0500)]
Corrections to spelling and grammatical errors.

Extracted from patch submitted by Lajos Veres in RT #123693.

8 years agoCorrections to spelling and grammatical errors.
Lajos Veres [Thu, 29 Jan 2015 01:35:53 +0000 (20:35 -0500)]
Corrections to spelling and grammatical errors.

Extracted from patch submitted by Lajos Veres in RT #123693.

8 years agoCorrections to spelling and grammatical errors.
Lajos Veres [Thu, 29 Jan 2015 01:25:32 +0000 (20:25 -0500)]
Corrections to spelling and grammatical errors.

Extracted from patch submitted by Lajos Veres in RT #123693.

8 years agoCorrections to spelling and grammatical errors.
Lajos Veres [Thu, 29 Jan 2015 01:24:01 +0000 (20:24 -0500)]
Corrections to spelling and grammatical errors.

Extracted from patch submitted by Lajos Veres in RT #123693.

8 years agoCorrections to spelling and grammatical errors.
Lajos Veres [Thu, 29 Jan 2015 01:04:07 +0000 (20:04 -0500)]
Corrections to spelling and grammatical errors.

Extracted from patch submitted by Lajos Veres in RT #123693.

Add Lajos Veres to Perl AUTHORS.

8 years agoperldelta entry for commit c57d3fcc1ad464532b34fb5a68ed2aa452190541
James E Keenan [Thu, 29 Jan 2015 00:23:04 +0000 (19:23 -0500)]
perldelta entry for commit c57d3fcc1ad464532b34fb5a68ed2aa452190541

8 years agoperldelta for c5abc2c9ea98, 00fdeebdcb01
Tony Cook [Wed, 28 Jan 2015 23:41:45 +0000 (10:41 +1100)]
perldelta for c5abc2c9ea9800fdeebdcb01

8 years agobump $Opcode::VERSION to 1.32
Tony Cook [Wed, 28 Jan 2015 23:29:05 +0000 (10:29 +1100)]
bump $Opcode::VERSION to 1.32

8 years agocomment out dead code in Opcode::
Daniel Dragan [Tue, 20 Jan 2015 05:16:57 +0000 (00:16 -0500)]
comment out dead code in Opcode::

opcode_debug has never had an API to turn it on/set it to non-0 since
Opcode::'s initial commit 6badd1a5d1 in 5.003001. Making opcode_debug a
constant allows the CC to constant fold away the code, the warn string
literals, and makes the my_cxt_t struct slightly smaller. Dont remove the
code entirely since someone might find it useful one day.

8 years agoperlunicook: Note that autodie >= 2.26 should be okay with "use open".
Matthew Horsfall [Wed, 28 Jan 2015 14:24:37 +0000 (09:24 -0500)]
perlunicook: Note that autodie >= 2.26 should be okay with "use open".

8 years agoFix warning message regarding "use autodie" and "use open".
Matthew Horsfall [Wed, 28 Jan 2015 14:14:56 +0000 (09:14 -0500)]
Fix warning message regarding "use autodie" and "use open".

8 years agoReword note about m being optional in m?PATTERN? in perlop for clarity
Matthew Horsfall [Wed, 28 Jan 2015 13:59:11 +0000 (08:59 -0500)]
Reword note about m being optional in m?PATTERN? in perlop for clarity

8 years agoperlop: m?? requires the m in v5.22, not v5.24
Ricardo Signes [Wed, 28 Jan 2015 13:08:29 +0000 (08:08 -0500)]
perlop: m?? requires the m in v5.22, not v5.24

8 years agoinfnan: even more comment tweaks
Jarkko Hietaniemi [Wed, 28 Jan 2015 12:23:43 +0000 (07:23 -0500)]
infnan: even more comment tweaks

8 years agoinfnan: comment tweaks
Jarkko Hietaniemi [Wed, 28 Jan 2015 11:43:51 +0000 (06:43 -0500)]
infnan: comment tweaks

8 years agoinfnan: restore 'Infinity' since lln.t expects it.
Jarkko Hietaniemi [Tue, 27 Jan 2015 14:40:03 +0000 (09:40 -0500)]
infnan: restore 'Infinity' since lln.t expects it.

8 years agoinfnan: if trailing stuff, fail in looks_like_number()
Jarkko Hietaniemi [Tue, 27 Jan 2015 14:11:39 +0000 (09:11 -0500)]
infnan: if trailing stuff, fail in looks_like_number()

8 years agoinfnan: comment tweaks
Jarkko Hietaniemi [Tue, 27 Jan 2015 13:32:39 +0000 (08:32 -0500)]
infnan: comment tweaks

8 years agoinfnan: grok flag expectation fixes
Jarkko Hietaniemi [Tue, 27 Jan 2015 03:20:04 +0000 (22:20 -0500)]
infnan: grok flag expectation fixes

8 years agoinfnan: grok_infnan now needs context
Jarkko Hietaniemi [Tue, 27 Jan 2015 03:13:56 +0000 (22:13 -0500)]
infnan: grok_infnan now needs context

8 years agoinfnan: actually use grok_hex() for nan payload
Jarkko Hietaniemi [Tue, 27 Jan 2015 01:52:41 +0000 (20:52 -0500)]
infnan: actually use grok_hex() for nan payload

And grok_bin() while we are at it.

The payload is still unused, but we now at least parse the syntax.

8 years agoinfnan: move grok_infnan before the grok_number
Jarkko Hietaniemi [Tue, 27 Jan 2015 00:36:25 +0000 (19:36 -0500)]
infnan: move grok_infnan before the grok_number

8 years agoinfnan: mention the unusual semantics of "numeric".
Jarkko Hietaniemi [Mon, 26 Jan 2015 02:08:13 +0000 (21:08 -0500)]
infnan: mention the unusual semantics of "numeric".

8 years agoinfnan: allow (silently) trailing whitespace.
Jarkko Hietaniemi [Mon, 26 Jan 2015 02:01:07 +0000 (21:01 -0500)]
infnan: allow (silently) trailing whitespace.

(Leading whitespace is handled in grok_number_flags.)

8 years agoinfnan: numify warning testing.
Jarkko Hietaniemi [Sun, 25 Jan 2015 23:36:18 +0000 (18:36 -0500)]
infnan: numify warning testing.

8 years agoinfnan: Simplify inf parsing.
Jarkko Hietaniemi [Sun, 25 Jan 2015 17:27:44 +0000 (12:27 -0500)]
infnan: Simplify inf parsing.

Accept anything beginning with /^inf/i,
but warn if there's trailing stuff.

8 years agoinfnan: More elaborate nan parsing for C99-y nan(...)
Jarkko Hietaniemi [Sun, 25 Jan 2015 17:19:03 +0000 (12:19 -0500)]
infnan: More elaborate nan parsing for C99-y nan(...)

8 years agoinfnan: Allow 1.#INF00 and 1.#IND00
Jarkko Hietaniemi [Sun, 25 Jan 2015 14:42:19 +0000 (09:42 -0500)]
infnan: Allow 1.#INF00 and 1.#IND00

Windowese for inf and nan.  The exact number of trailing zeros seems
to vary, maybe controlled by printf precision?  Or RTL dependent?

8 years agoCorrection to 0563a5d0db
Steve Hay [Wed, 28 Jan 2015 08:46:28 +0000 (08:46 +0000)]
Correction to 0563a5d0db

Functions marked "b" do not have to be in mathoms.c after all. That was
partly based on the belief (from e4524c4c2a) that "b" functions have their
proto.h entries skipped, but that is not the case. It is "m" functions
(macros) that have their proto.h entries skipped. The confusion may have
arisen because all but four current "b" functions have "m" as well anyway.

However, even functions marked "b" and "m" do not absolutely have to be in
mathoms.c. At the time of writing they all are, which is convenient for
having the symbols marked EXTERN_C, which is required to unmangle the
exported names in a C++ build (see d447858807). Their presence in mathoms.c
will also have them skipped from -DNO_MATHOMS builds (as of 075eb5c9b6).
But it is possible for "bm" functions to exist elsewhere as long as they
are explicitly marked EXTERN_C. In that case they won't be automatically
skipped for -DNO_MATHOMS builds either, which may or may not require
special attention too.

Thanks to Craig A. Berry for pointing out that 0563a5d0db wasn't quite

8 years agom?? without the m is not deprecated, but gone!
Ricardo Signes [Wed, 28 Jan 2015 02:25:23 +0000 (21:25 -0500)]
m?? without the m is not deprecated, but gone!

8 years agoperldelta: Fix typo
Karl Williamson [Tue, 27 Jan 2015 16:35:30 +0000 (09:35 -0700)]
perldelta: Fix typo

8 years agoUpdate HTTP-Tiny to CPAN version 0.054
Chris 'BinGOs' Williams [Tue, 27 Jan 2015 13:12:42 +0000 (13:12 +0000)]
Update HTTP-Tiny to CPAN version 0.054


0.054     2015-01-27 07:18:19-05:00 America/New_York


    - Added more fallback paths to find CA files (thanks golang)


    - Fixed a typo

8 years agoUpdate Perl-OSType to CPAN version 1.008
Chris 'BinGOs' Williams [Tue, 27 Jan 2015 11:16:50 +0000 (11:16 +0000)]
Update Perl-OSType to CPAN version 1.008


1.008     2015-01-26 22:12:22-05:00 America/New_York


    - Added 'minix' as a Unix-type OS (Chris Williams)

8 years agorename unop_aux_stringify to multideref_stringify
David Mitchell [Tue, 27 Jan 2015 11:14:37 +0000 (11:14 +0000)]
rename unop_aux_stringify to multideref_stringify

This function returns a string representation of the OP_MULTIDEREF op
(as used by the output of perl -Dt).

However, the stringification of a UNOP_AUX op is op-specific, and
hypothetical future UNOP_AUX-class ops will need their own functions.
So the current function name is misleading.

It should be safe to rename it, as it only been in since 5.21.7, and isn't

8 years agoperldelta for f9bbfafdab
Steve Hay [Tue, 27 Jan 2015 08:52:17 +0000 (08:52 +0000)]
perldelta for f9bbfafdab

8 years agoAdd USE_CPLUSPLUS build option to win32 makefiles
Steve Hay [Thu, 22 Jan 2015 13:47:42 +0000 (13:47 +0000)]
Add USE_CPLUSPLUS build option to win32 makefiles

With thanks to Craig A. Berry and Daniel Dragan for finding the d_cplusplus
and extern_C options, respectively.

8 years agoMerge upstream fix for C++ mode build of Win32API-File
Steve Hay [Tue, 27 Jan 2015 08:36:02 +0000 (08:36 +0000)]
Merge upstream fix for C++ mode build of Win32API-File

This is so we can have C++ mode builds on Windows without having to wait
for a new CPAN release of Win32API-File.

8 years agoFunctions marked 'b' in embed.fnc MUST be implemented in mathoms.c
Steve Hay [Tue, 27 Jan 2015 08:27:10 +0000 (08:27 +0000)]
Functions marked 'b' in embed.fnc MUST be implemented in mathoms.c

This was effectively changed from 'often' to 'must be' by commit

8 years agoRemove out-dated comment from mathoms.c
Steve Hay [Tue, 27 Jan 2015 08:23:33 +0000 (08:23 +0000)]
Remove out-dated comment from mathoms.c

The previous commit did not honour this comment, and was evidently not the
first to have not seen it either: at least 09d7a3ba91 and 0d7d409d8d have
already added new functions in the 'wrong' place, so just remove the

8 years agomove functions marked as mathomed in embed.fnc to mathoms.c
Daniel Dragan [Tue, 20 Jan 2015 12:51:13 +0000 (07:51 -0500)]
move functions marked as mathomed in embed.fnc to mathoms.c

Ever since commit 075eb5c9b6 mathom functions must be in mathoms.c for
their symbols to be skipped in on Win32 Perl. If a function is
marked 'b' in embed.fnc, does NOT add its prototype to proto.h
(it is commented out). Without the proto.h entry, EXTERN_C will be missing
and a -DNO_MATHOMS + C++ Win32 Perl build will not link, since the C
function will have a mangled name and the symbol will not be found for
creating the perl linking library.

Also add EXTERN_C to Win32CORE, the init_Win32CORE symbol is special cased
for exporting in

Perl_is_utf8_char_buf was marked as 'b' in commit 3cedd9d930
Perl_sv_copypv was marked as 'b' in commit 4bac9ae47b

8 years agoperldelta for fa7b7678bab9
Tony Cook [Tue, 27 Jan 2015 04:27:31 +0000 (15:27 +1100)]
perldelta for fa7b7678bab9

8 years ago[perl #123064] document limitations of the big* implementation
Tony Cook [Tue, 27 Jan 2015 04:19:12 +0000 (15:19 +1100)]
[perl #123064] document limitations of the big* implementation

8 years agoperldelta for 4388f261169c
Tony Cook [Tue, 27 Jan 2015 04:12:20 +0000 (15:12 +1100)]
perldelta for 4388f261169c

8 years agoPerlIO::scalar write() at large file position
Tony Cook [Thu, 15 Jan 2015 05:52:21 +0000 (16:52 +1100)]
PerlIO::scalar write() at large file position

Prevents treating a large file position as negative (or even wrapped).

8 years agominiperl cannot IO::File
Jarkko Hietaniemi [Tue, 27 Jan 2015 00:13:42 +0000 (19:13 -0500)]
miniperl cannot IO::File

8 years agoUpdate Win32 to CPAN version 0.51
Chris 'BinGOs' Williams [Mon, 26 Jan 2015 23:43:50 +0000 (23:43 +0000)]
Update Win32 to CPAN version 0.51


0.51    [2015-01-26]
        - Win32-0.50 was released to CPAN from an out-dated Git repo, so
          didn't actually include the merged pull requests.

0.50    [2015-01-26]
        - add GetOSName support for Windows 8.1 (thanks to Tony Cook) [PR/6]
        - Fix build in C++ mode (thanks to Steve Hay and Daniel Dragan) [PR/7]

8 years agonote B's version bump in perldelta
Tony Cook [Mon, 26 Jan 2015 23:46:59 +0000 (10:46 +1100)]
note B's version bump in perldelta

Neither change is earth-shattering, so I haven't described them.

8 years agofactor out a dXSTARG in B::
Daniel Dragan [Tue, 20 Jan 2015 06:05:38 +0000 (01:05 -0500)]
factor out a dXSTARG in B::

VC 2003 -O1 placed 2 copies of dXSTARG/sv_newmortal() in machine code,
by moving to before the branch, only 1 copy will now exist

8 years agoUpdate B-Debug to CPAN version 1.23
Chris 'BinGOs' Williams [Mon, 26 Jan 2015 16:12:13 +0000 (16:12 +0000)]
Update B-Debug to CPAN version 1.23

8 years ago[PATCH] update perlfaq to version 5.021009
Karen Etheridge [Mon, 26 Jan 2015 15:34:01 +0000 (15:34 +0000)]
[PATCH] update perlfaq to version 5.021009

5.021009    20152015-01-25 22:36:24Z
  * many updates to vendor and tool details in perlfaq3 (Michiel Beijen)
  * distribution version bumped to match the first blead version it will be
    included in (5.021009)

Signed-off-by: Chris 'BinGOs' Williams <>
8 years agoregen/op_private: update comment
David Mitchell [Mon, 26 Jan 2015 12:17:41 +0000 (12:17 +0000)]
regen/op_private: update comment

Since a flag's bit number has been changed, update the example
with the changed bit number.

8 years agoDodge warning with STATIC_ASSERT_STMT, VMS C++.
Craig A. Berry [Sun, 25 Jan 2015 21:22:50 +0000 (15:22 -0600)]
Dodge warning with STATIC_ASSERT_STMT, VMS C++.

This is not a C++11 compiler so it's getting the emulated version
of static_assert and it doesn't like it in one case:

        STATIC_ASSERT_STMT(SVf_FAKE >= 1<<(sizeof(PadnameFLAGS(pn)) * 8));
%CXX-W-REFNESTFUNVAR, reference to local variable of enclosing function is
          not allowed
at line number 3562 in file D0:[craig.blead.ext.B]b.c;1

While pn is in fact a local variable, it's in an enclosing struct,
not an enclosing function.  Nevertheless, we don't actually need
anything from pn other than the size of one of its members, so
we'll just use a NULL pointer of the correct type rather than a
real live instance of that type.  This is supposedly C89 so
shouldn't break anything else.

8 years agoDowngrade missing return warning for VMS C++ compiler.
Craig A. Berry [Sun, 25 Jan 2015 20:23:06 +0000 (14:23 -0600)]
Downgrade missing return warning for VMS C++ compiler.

Without these we get a ton of warnings that look like:

%CXX-W-MISSINGRETURN, missing return statement at end of non-void function
at line number 9404 in file D0:[craig.blead]toke.c;1

which get escalated to errors at link time and thus break the

8 years agoAvoid depending on
James Raspass [Sun, 25 Jan 2015 19:41:48 +0000 (19:41 +0000)]
Avoid depending on

8 years agoRevert the support for new warning categories outside of "all"
Ævar Arnfjörð Bjarmason [Sun, 25 Jan 2015 14:10:13 +0000 (14:10 +0000)]
Revert the support for new warning categories outside of "all"

This reverts & amends my v5.21.7-151-gea5519d and Karl Williamson's
v5.21.7-183-g2f3cbe1, the latter was only need because of the

I've also taken the opportunity to fix the long-standing trivial bug
with misaligned code in warnings.{pm,h}. That was easier to commit along
with this than to split it up from the other generated changes.

Why revert this? See the "use warnings 'absolutely-all-almost';" thread
on perl5-porters for the latest summary:

Basically as I explained in v5.21.7-151-gea5519d the current design of
the API makes it too contentious to freely add new warnings, but there's
no consensus on how to solve that. I.e. whether we should just add them
to "all", or do this change, or several other possible things outlined
in that thread and elsewhere.

Since the deadline for contentious changes for v5.22 is already past us
I'm backing this out for now.

8 years agoDon't bother prettifying win32/perldll.def
Steve Hay [Sun, 25 Jan 2015 14:05:39 +0000 (14:05 +0000)]
Don't bother prettifying win32/perldll.def

It's not a file that anyone ever really looks inside anyway, so it's not
worth the possible future breakage if we ever have a PL_ symbol 32 or more
characters long.

8 years agoexport data symbols as data on Win32
Daniel Dragan [Mon, 19 Jan 2015 22:30:04 +0000 (17:30 -0500)]
export data symbols as data on Win32

Previously on Win32 Perl, all the PL_* data symbols were treated as
function symbols with expectation of machine code at their targets when
generating the linking library perl5**.lib or perl5**.a. In VC Perl, if an
DLL XS module accidentally (by manipulating the defines before #including
perls headers) turned "extern __declspec(dllimport) I32 *PL_markstack_ptr;"
into "extern I32 *PL_markstack_ptr;", a SEGV would result as if the XS
module executed "I32 ax = (*(I32*)Perl_sv_2mortal)--;". By marking the
symbols as data in the linking lib, the VC linker will error out while
creating a XS DLL where this mistake of dropping out __declspec(dllimport)
happened, instead of a runtime crash. Mingw GCC linker does the correct
behavior, and does not treat the data symbol as machine code even if
"__declspec(dllimport)" is removed. Still add DATA to the GCC perldll.def
to be sure. There is no reason for "jmp" machine codestubs/thunks to
exist in the perl.lib/perl.a to a data export.

Also add constant folding to the loop in, since every other
platform check executes exactly once, there is no point of executing the
ops in the perl compile time constant folder vs runtime executing them.
If a data symbol name exceeds the 32 limit, then "DATA" will be catted onto
the symbol name and linking lib generation will fail since the symbol wont
exist. The 32 limit will then be increased at that point in the future.

See details about this patch in [perl #123626]

8 years agoattempt again to const vtables in threads-shared
Daniel Dragan [Tue, 20 Jan 2015 23:08:03 +0000 (18:08 -0500)]
attempt again to const vtables in threads-shared

Followup to commit a8c717cfeb and commit 7105b7e7a5 and perl #123549 . This
should be C++ compatible even though it leaves some symbols non-static.

8 years ago[perl #123652] eval {label:} crash
Father Chrysostomos [Sun, 25 Jan 2015 01:14:58 +0000 (17:14 -0800)]
[perl #123652] eval {label:} crash

As of v5.13.6-130-geae48c8, the block consists solely of a
nextstate op.

The code in ck_eval that distinguished between eval-block and eval-
string was checking the type of the kid op (looking for lineseq or
stub) instead of simply checking the type of the op itself (entertry/

The lexer was already making the distinction between the two but op.c
was ignoring the information provided by the lexer.



gets converted into


with the entertry reallocated as a larger-sized op, but that was not
happening.  The peephole optimiser assumed it had happened, and fol-
lowed the cLOGOPo->op_other pointer, which is unrelated junk beyond
the end of the unop struct.  Hence the crash.

8 years agoUpdate CPAN-Meta-Requirements to CPAN version 2.132
Chris 'BinGOs' Williams [Sat, 24 Jan 2015 09:44:46 +0000 (09:44 +0000)]
Update CPAN-Meta-Requirements to CPAN version 2.132


2.132     2015-01-22 17:09:19-05:00 America/New_York


    - Precision of version requirement "0.00" is preserved when merging

8 years agoregcomp.c: Clarify comment
Karl Williamson [Fri, 23 Jan 2015 19:26:42 +0000 (12:26 -0700)]
regcomp.c: Clarify comment

8 years agohandy.h: EXTERN_C-ize PL_charclass
Karl Williamson [Fri, 23 Jan 2015 19:00:49 +0000 (12:00 -0700)]
handy.h: EXTERN_C-ize PL_charclass

See thread

8 years agoregcomp.c: Another minor optimization
Karl Williamson [Fri, 23 Jan 2015 18:57:14 +0000 (11:57 -0700)]
regcomp.c: Another minor optimization

The [:cased:] internal class now handles [:upper:] and/or [:lower:]
under /i matching.  This code skipped possible optimizations because it
didn't think to use this.

8 years agoregcomp.c: Minor optimizations
Karl Williamson [Fri, 23 Jan 2015 18:20:30 +0000 (11:20 -0700)]
regcomp.c: Minor optimizations

\d, [:digit:], and [:xdigit:] don't match anything in the upper Latin1
range.  Therefore whether or not the target string is UTF-8 or not
doesn't change what they match, hence the /d modifier acts exactly like
the /u modifier for them.  At run-time /u executes fewer branches
because it doesn't have to test if the target string is in UTF-8 or not,
so treating these as if /u had instead been specified saves some

8 years agoregexec.c, regcomp.c: White-space only
Karl Williamson [Fri, 23 Jan 2015 18:19:23 +0000 (11:19 -0700)]
regexec.c, regcomp.c: White-space only

This changes some labels to be outdented 2 spaces from surrounding code

8 years ago[perl #123659] [Win32] Add "-ld" to archname for dmake "long double" builds of perl
Sisyphus [Sat, 24 Jan 2015 00:38:10 +0000 (00:38 +0000)]
[perl #123659] [Win32] Add "-ld" to archname for dmake "long double" builds of perl

8 years agoUpgrade Encode from version 2.67 to 2.68
Steve Hay [Thu, 22 Jan 2015 13:33:18 +0000 (13:33 +0000)]
Upgrade Encode from version 2.67 to 2.68

8 years agoAdd test for glob constants accepting method calls
Kent Fredric [Thu, 22 Jan 2015 10:15:51 +0000 (23:15 +1300)]
Add test for glob constants accepting method calls

This specific case tripped up

8 years ago[perl #123619] Only make stringy classnames shared
Leon Timmermans [Wed, 21 Jan 2015 22:43:36 +0000 (23:43 +0100)]
[perl #123619] Only make stringy classnames shared

This caused failures in autobox that expect their invocant to be something
other than a string (e.g. a number). See also [cpan #100819].

8 years agoConvert tabs in indentation to spaces.
Shlomi Fish [Tue, 20 Jan 2015 14:15:49 +0000 (16:15 +0200)]
Convert tabs in indentation to spaces.

This is so it will display correctly with every tab-step/tab-size.