This is a live mirror of the Perl 5 development currently hosted at
7 years agoregcomp.c: Reorder two switch cases
Karl Williamson [Thu, 31 Jul 2014 22:46:14 +0000 (16:46 -0600)]
regcomp.c: Reorder two switch cases

This is in preparation for combining them into common code.  No other
changes are made, except for an additional blank line.

7 years agoregcomp.c: Don't store unnecessary data in \b ops
Karl Williamson [Thu, 31 Jul 2014 22:30:24 +0000 (16:30 -0600)]
regcomp.c: Don't store unnecessary data in \b ops

The previous commit has caused this information to no longer be looked
at; no need to store it therefore.

7 years agoregexec.c: Refactor \b code to not use the FLAGS field
Karl Williamson [Thu, 31 Jul 2014 22:24:52 +0000 (16:24 -0600)]
regexec.c: Refactor \b code to not use the FLAGS field

In one spot, \b and \B used the regnode FLAGS field to find out what
the character set type of bound they are.  This information is already
conveyed in the regnode type: BOUNDL, BOUNDU, etc.  By removing the use
of this redundant information, we can in a later commit stop storing it,
and free up the field for other uses.

7 years agoregexec.c: Use appropriate macro
Karl Williamson [Thu, 31 Jul 2014 21:45:13 +0000 (15:45 -0600)]
regexec.c: Use appropriate macro

This code knows that a \n isn't a word character, but in preparation for
future commits in which word isn't the only possibility,  change to use
the appropriate macro.

7 years agoregexec.c: Stack ternary operator for readability
Karl Williamson [Thu, 31 Jul 2014 03:49:03 +0000 (21:49 -0600)]
regexec.c: Stack ternary operator for readability

7 years agoregcomp.h: Clarify comment
Karl Williamson [Mon, 28 Jul 2014 03:19:48 +0000 (21:19 -0600)]
regcomp.h: Clarify comment

7 years agoUnicode::UCD: Allow internal properties in invmap()
Karl Williamson [Sat, 19 Jul 2014 17:35:34 +0000 (11:35 -0600)]
Unicode::UCD: Allow internal properties in invmap()

This adds an undocumented way to get invmap() to return internal
properties, like invlist().  This is intended only for Perl-core

7 years agoUnicode::UCD: pod nits
Karl Williamson [Sat, 19 Jul 2014 17:32:49 +0000 (11:32 -0600)]
Unicode::UCD: pod nits

7 years agoregcomp.c: Silence Win32 compiler warnings
Karl Williamson [Thu, 22 Jan 2015 04:46:19 +0000 (21:46 -0700)]
regcomp.c: Silence Win32 compiler warnings

This variable is a boolean with values of 0 and 1, even though it's
stored as 32-bits in the struct, to get the simplest store/retrieval
code generated, so it's safe to cast it to a bool.

7 years agoattributes.xs: Don’t emit const warning for anons
Father Chrysostomos [Thu, 22 Jan 2015 05:37:01 +0000 (21:37 -0800)]
attributes.xs: Don’t emit const warning for anons

The intent was to emit the warning for any cases other than custom
attributes on anonymous subs.  I did that by checking to see whether
we had a closure prototype, warning otherwise.  But anonymous subs
that are not closures are not closure prototypes.  So we need to
check CvANON instead.

7 years agofix SDBM_File builds using gcc on Win32
Tony Cook [Thu, 22 Jan 2015 04:59:23 +0000 (15:59 +1100)]
fix SDBM_File builds using gcc on Win32

b488d167b0 removed the -DPERL_STATIC_SYMS definition to allow imported
perl variables to be seen correctly, but this meant gcc builds on Win32

  EXTCONST datum nullitem

as an import.

Change the EXTCONST to extern const so the declaration behaves as it did

7 years agoperldelta for 56f81afc0f, which is actually in 5.21.8
Steve Hay [Wed, 21 Jan 2015 14:11:16 +0000 (14:11 +0000)]
perldelta for 56f81afc0f, which is actually in 5.21.8

7 years agoFinal updates to M::CL for version bump
Matthew Horsfall [Wed, 21 Jan 2015 14:51:34 +0000 (09:51 -0500)]
Final updates to M::CL for version bump

7 years agoMore bumpbing of version number to 5.21.9. Missed this yesterday.
Matthew Horsfall [Wed, 21 Jan 2015 14:48:14 +0000 (09:48 -0500)]
More bumpbing of version number to 5.21.9. Missed this yesterday.

7 years agoSync Module::CoreList with CPAN and update for next release
Matthew Horsfall [Wed, 21 Jan 2015 14:15:53 +0000 (09:15 -0500)]
Sync Module::CoreList with CPAN and update for next release

7 years agoreg: avoid pointing past end of string on short DEFINE
Hugo van der Sanden [Sat, 10 Jan 2015 13:22:37 +0000 (13:22 +0000)]
reg: avoid pointing past end of string on short DEFINE

7 years agoavoid C labels in column 0
David Mitchell [Wed, 21 Jan 2015 12:16:21 +0000 (12:16 +0000)]
avoid C labels in column 0

Generally the guideline is to outdent C labels (e.g. 'foo:') 2 columns
from the surrounding code.

If the label starts at column zero, then it means that diffs, such as
those generated by git, display the label rather than the function
name at the head of a diff block: which makes diffs harder to peruse.

7 years agoAnother patch to perlsub documenting moves sigs
Peter Martini [Wed, 21 Jan 2015 06:24:44 +0000 (01:24 -0500)]
Another patch to perlsub documenting moves sigs

7 years agoperlrecharclass: Fix typo
Karl Williamson [Wed, 21 Jan 2015 01:24:26 +0000 (18:24 -0700)]
perlrecharclass: Fix typo

7 years agoUpdate RMG to mention uploading .xz to pause, and fix grammar
Matthew Horsfall [Tue, 20 Jan 2015 20:52:36 +0000 (15:52 -0500)]
Update RMG to mention uploading .xz to pause, and fix grammar

7 years agoVersion bump + new perldelta
Matthew Horsfall [Tue, 20 Jan 2015 20:44:24 +0000 (15:44 -0500)]
Version bump + new perldelta

7 years agoUpdate epigraph with mailing list link
Matthew Horsfall [Tue, 20 Jan 2015 20:42:09 +0000 (15:42 -0500)]
Update epigraph with mailing list link

7 years agoAdd epigraph and update release schedule
Matthew Horsfall [Tue, 20 Jan 2015 20:37:48 +0000 (15:37 -0500)]
Add epigraph and update release schedule

7 years agoReally fix broken linkage in perldelta v5.21.8
Matthew Horsfall [Tue, 20 Jan 2015 18:49:30 +0000 (13:49 -0500)]
Really fix broken linkage in perldelta

7 years agoFix IO::Compress linkage
Matthew Horsfall [Tue, 20 Jan 2015 18:31:16 +0000 (13:31 -0500)]
Fix IO::Compress linkage

7 years agoAdd new release to perlhist
Matthew Horsfall [Tue, 20 Jan 2015 18:21:33 +0000 (13:21 -0500)]
Add new release to perlhist

7 years agoFix pod spelling/linking mistakes as caught by podchecker/spell
Matthew Horsfall [Tue, 20 Jan 2015 18:14:52 +0000 (13:14 -0500)]
Fix pod spelling/linking mistakes as caught by podchecker/spell

7 years agoFinalize perldelta
Matthew Horsfall [Tue, 20 Jan 2015 18:07:27 +0000 (13:07 -0500)]
Finalize perldelta

7 years agoUpdate Module::CoreList for 5.21.8
Matthew Horsfall [Tue, 20 Jan 2015 18:01:05 +0000 (13:01 -0500)]
Update Module::CoreList for 5.21.8

7 years agoRelease prep - Copy descriptions of new errors in perldiag to delta
Matthew Horsfall [Tue, 20 Jan 2015 17:45:02 +0000 (12:45 -0500)]
Release prep - Copy descriptions of new errors in perldiag to delta

7 years agoregcomp.c: Add warnings under re 'strict'
Karl Williamson [Tue, 20 Jan 2015 16:48:44 +0000 (09:48 -0700)]
regcomp.c: Add warnings under re 'strict'

7 years agoregcomp.c: Move #define, make a function always compiled
Karl Williamson [Mon, 6 Oct 2014 22:17:58 +0000 (16:17 -0600)]
regcomp.c: Move #define, make a function always compiled

This is in preparation for the next commit.  The function previously was
used only in DEBUGGING builds

7 years agoregcomp.c: Add warnings under re 'strict'
Karl Williamson [Tue, 20 Jan 2015 06:51:55 +0000 (23:51 -0700)]
regcomp.c: Add warnings under re 'strict'

7 years agot/re/reg_mesg.t: Turn on $|
Karl Williamson [Tue, 20 Jan 2015 00:49:38 +0000 (17:49 -0700)]
t/re/reg_mesg.t: Turn on $|

Otherwise the output gets mixed up

7 years agoAdd portablity warning for re 'strict'
Karl Williamson [Mon, 19 Jan 2015 19:47:41 +0000 (12:47 -0700)]
Add portablity warning for re 'strict'

When a range in a bracketed character class has one end be specified as
Unicode, the whole range is viewed as Unicode.  Currently this is not
warned about, though it is somewhat like mixing apples and oranges.
This commit adds a warning, but only under "use re 'strict'", and
it now documents the only one-end behavior.

7 years agoregcomp.c: Fix typo in comment
Karl Williamson [Mon, 19 Jan 2015 19:43:43 +0000 (12:43 -0700)]
regcomp.c: Fix typo in comment

7 years agot/re/reg_mesg.t: Add support for only re 'strict' warnings
Karl Williamson [Mon, 19 Jan 2015 19:19:14 +0000 (12:19 -0700)]
t/re/reg_mesg.t: Add support for only re 'strict' warnings

This will allow future commits to specify warnings that are raised only
when under "use re 'strict'"

7 years agoregcomp.c: Refactor a calculation
Karl Williamson [Sat, 17 Jan 2015 22:57:24 +0000 (15:57 -0700)]
regcomp.c: Refactor a calculation

Currently the way we calculate if the endpoints in a range in a
[bracketed character class] are "literal" (like 'A', 'b') vs non (like
\x{41}) is to have a count of the literal endpoints.

Future commits will expand the definition of literal to include things
that are portably-specified, including things like \t, \N{U+xx}, etc.
It will be easier to specify that we have encountered a non-portable
name instead of the other way around.  So that is what this commit does.
The only non-portables are \digit, \o{}, \x{}, and \cX for all X.

7 years agoRelease prep - Update perldelta some more
Matthew Horsfall [Tue, 20 Jan 2015 17:11:24 +0000 (12:11 -0500)]
Release prep - Update perldelta some more

7 years agoRevert "refactor gv_add_by_type"
Matthew Horsfall [Sat, 17 Jan 2015 16:50:31 +0000 (11:50 -0500)]
Revert "refactor gv_add_by_type"

This reverts commit 819b139db33e2022424694e381422766903d4f65.

This could be repapplied for 5.23.1, with modifications or
additional patches to solve the breakage discussed in RT 123580.

7 years agoClean up under distclean
Matthew Horsfall [Tue, 20 Jan 2015 16:39:55 +0000 (11:39 -0500)]
Clean up under distclean

7 years agoRelease prep - Fix bad links in perldelta
Matthew Horsfall [Tue, 20 Jan 2015 16:27:25 +0000 (11:27 -0500)]
Release prep - Fix bad links in perldelta

7 years agoRelease prep - Update perldelta
Matthew Horsfall [Tue, 20 Jan 2015 16:19:27 +0000 (11:19 -0500)]
Release prep - Update perldelta

7 years agoRelease prep - Update version/copyright information.
Matthew Horsfall [Tue, 20 Jan 2015 16:18:59 +0000 (11:18 -0500)]
Release prep - Update version/copyright information.

7 years agoUpdate Filter::Util::Call to CPAN version 1.54.
Matthew Horsfall [Tue, 20 Jan 2015 15:23:26 +0000 (10:23 -0500)]
Update Filter::Util::Call to CPAN version 1.54.

7 years agoBump Module::Metadata version in Porting/
Matthew Horsfall [Tue, 20 Jan 2015 15:12:55 +0000 (10:12 -0500)]
Bump Module::Metadata version in Porting/

Missed with 5944609.

7 years agoMention some curious cases of **
Jarkko Hietaniemi [Mon, 19 Jan 2015 20:52:13 +0000 (21:52 +0100)]
Mention some curious cases of **

7 years agoNotes on NaN structure, for future generation/extraction.
Jarkko Hietaniemi [Mon, 19 Jan 2015 22:10:48 +0000 (23:10 +0100)]
Notes on NaN structure, for future generation/extraction.

7 years agoMake numifying "nanblah" warn, just like "345blah" does.
Jarkko Hietaniemi [Mon, 19 Jan 2015 20:39:05 +0000 (21:39 +0100)]
Make numifying "nanblah" warn, just like "345blah" does.

7 years agoinfnan: sprintf width and left-align.
Jarkko Hietaniemi [Mon, 19 Jan 2015 20:15:58 +0000 (21:15 +0100)]
infnan: sprintf width and left-align.

7 years agoClarify test messages.
Jarkko Hietaniemi [Mon, 19 Jan 2015 19:01:42 +0000 (20:01 +0100)]
Clarify test messages.

7 years agoPorting/ New alternate addr for jhi
Karl Williamson [Tue, 20 Jan 2015 15:33:56 +0000 (08:33 -0700)]
Porting/ New alternate addr for jhi

7 years agoperldiag: Fix typo
Karl Williamson [Tue, 20 Jan 2015 15:28:52 +0000 (08:28 -0700)]
perldiag: Fix typo

7 years agointuit_more: no need to copy before keyword check
Hugo van der Sanden [Fri, 16 Jan 2015 12:11:32 +0000 (12:11 +0000)]
intuit_more: no need to copy before keyword check

That also avoids crashing on overrun.

7 years agoUpdate signatures placement in perlsub pod
Peter Martini [Tue, 20 Jan 2015 11:26:54 +0000 (06:26 -0500)]
Update signatures placement in perlsub pod

7 years agoEnable checking of upstream cpan as well as upstream blead
Steve Hay [Tue, 20 Jan 2015 08:45:22 +0000 (08:45 +0000)]
Enable checking of upstream cpan as well as upstream blead

There is no reason why upstream cpan modules should not also have their
$VERSIONs bumped if they differ from the previous release. Even if they
are temporarily locally patched for blead, that temporary patch should
include a $VERSION bump.

7 years ago[perl #123554] stop checking the message
Tony Cook [Tue, 20 Jan 2015 05:24:50 +0000 (16:24 +1100)]
[perl #123554] stop checking the message

Sith IV/UV larger than Size_t, the overflow can be detected earlier,
so the message varies.

The error is still reported with a croak(), so it can be captured.

7 years agoperldelta for :const
Father Chrysostomos [Tue, 20 Jan 2015 04:39:44 +0000 (20:39 -0800)]
perldelta for :const

7 years agoperlexperiment: Missing bug number
Father Chrysostomos [Tue, 20 Jan 2015 04:37:24 +0000 (20:37 -0800)]
perlexperiment: Missing bug number

7 years ago[Merge] :const
Father Chrysostomos [Tue, 20 Jan 2015 04:34:34 +0000 (20:34 -0800)]
[Merge] :const

7 years agoDocument :const
Father Chrysostomos [Tue, 20 Jan 2015 04:33:01 +0000 (20:33 -0800)]
Document :const

7 years agoMake :const experimental
Father Chrysostomos [Tue, 20 Jan 2015 03:30:46 +0000 (19:30 -0800)]
Make :const experimental

7 years agoAdd experimental::const_attr warning category
Father Chrysostomos [Tue, 20 Jan 2015 03:21:16 +0000 (19:21 -0800)]
Add experimental::const_attr warning category

7 years agoattributes.xs: Remove dVAR
Father Chrysostomos [Mon, 19 Jan 2015 07:01:33 +0000 (23:01 -0800)]
attributes.xs: Remove dVAR

I think it has been redundant ever since it was added in 97aff369.

7 years agoLet know about the const attribute
Father Chrysostomos [Mon, 19 Jan 2015 06:40:09 +0000 (22:40 -0800)]
Let know about the const attribute

Setting it has no affect except on closure prototypes, so warn if an
attempt is made to set it on any other sub.

7 years agoanonconst.t for testing :const
Father Chrysostomos [Mon, 19 Jan 2015 01:40:34 +0000 (17:40 -0800)]
anonconst.t for testing :const

7 years agoAdd :const anon sub attribute
Father Chrysostomos [Mon, 19 Jan 2015 00:37:03 +0000 (16:37 -0800)]
Add :const anon sub attribute

7 years agocv.h: Add CVf_ANONCONST flag
Father Chrysostomos [Mon, 19 Jan 2015 00:28:27 +0000 (16:28 -0800)]
cv.h: Add CVf_ANONCONST flag

7 years agoavoid a build issue with non-threaded Win32 builds
Tony Cook [Tue, 20 Jan 2015 04:07:14 +0000 (15:07 +1100)]
avoid a build issue with non-threaded Win32 builds

ac0e53cd rearranged the build of the SDBM_File extension, and applied
the options, -DPERL_STATIC_SYMS, defined for the sdbm library code to
SDBM_File.$(O), which removed the __declspec(dllimport) specification
from perl's globals on non-threaded builds, breaking the code generated
for those variables.

The -DPERL_STATIC_SYMS was added in 9c293c15 as a replacement for a
kludge in 8803afc2 to fix SDBM built with BCC on Win32.

The failure in BCC was introduced in 17f28c40 which added the EXTCONST
to better support some VMS specific constructs (which appear to have
been removed since.)

A later patch may clean that up, but since the next dev release is
coming soon, I'll start with a minimal fix.

7 years agolib/locale.t: Suppress some warnings
Karl Williamson [Thu, 15 Jan 2015 05:48:44 +0000 (22:48 -0700)]
lib/locale.t: Suppress some warnings

Move a 'no warnings' statement to earlier in the file, to before the first
possibility of it being needed occurs.

7 years agolib/locale.t: Generalize to work on non-ASCII
Karl Williamson [Tue, 21 May 2013 04:20:29 +0000 (22:20 -0600)]
lib/locale.t: Generalize to work on non-ASCII

7 years agoperldelta: Fix typo
Karl Williamson [Mon, 19 Jan 2015 15:24:56 +0000 (08:24 -0700)]
perldelta: Fix typo

7 years agoperldelta for 62db6ea5fed1
Tony Cook [Mon, 19 Jan 2015 05:25:33 +0000 (16:25 +1100)]
perldelta for 62db6ea5fed1

7 years ago[perl #123538] always set chophere and itembytes at the same time
Tony Cook [Mon, 19 Jan 2015 05:03:18 +0000 (16:03 +1100)]
[perl #123538] always set chophere and itembytes at the same time

Previously this would crash in FF_MORE because chophere was still

7 years agoperldelta for fa8f4f85ec35
Tony Cook [Mon, 19 Jan 2015 02:49:23 +0000 (13:49 +1100)]
perldelta for fa8f4f85ec35

7 years ago[perl #123554] avoid a crash from SvGROW(MEM_SIZE_MAX)
Tony Cook [Mon, 19 Jan 2015 02:31:26 +0000 (13:31 +1100)]
[perl #123554] avoid a crash from SvGROW(MEM_SIZE_MAX)

7 years agoperldelta for c9fdc8d6d601
Tony Cook [Sun, 18 Jan 2015 23:33:32 +0000 (10:33 +1100)]
perldelta for c9fdc8d6d601

7 years agoremove multi-eval problem from File::Glob
Daniel Dragan [Mon, 5 Jan 2015 21:15:37 +0000 (16:15 -0500)]
remove multi-eval problem from File::Glob

get_sv would be called upto 3 times, now it will be called just once

7 years agoimprove SvPV_set's docs, it really shouldn't be public API
Daniel Dragan [Fri, 16 Jan 2015 03:30:25 +0000 (22:30 -0500)]
improve SvPV_set's docs, it really shouldn't be public API

Someone else in the perl community wrote XS code using SvPV_set instead
of sv_setpvn and couldn't figure out why he was getting
heap corruption/failed asserts/SEGVs/etc. Improve the docs to basically say
never use this.

7 years agoperldelta for previous 2 commits
Peter Martini [Sun, 18 Jan 2015 16:15:15 +0000 (11:15 -0500)]
perldelta for previous 2 commits

perldelta entry for moving signature before attributes

7 years agoUpdate perlsub to reflect attribute/signature relo
Peter Martini [Sun, 18 Jan 2015 16:09:55 +0000 (11:09 -0500)]
Update perlsub to reflect attribute/signature relo

As initially introduced in 5.20, sub signatures came after
attributes.  For 5.22, they will come before attributes, like
prototypes did.  This commit updates the docs to that effect.

7 years agoperly.y changes from Lukas Mai in RT 123069
Peter Martini [Sun, 18 Jan 2015 15:54:01 +0000 (10:54 -0500)]
perly.y changes from Lukas Mai in RT 123069

This moves signatures before attributes in the grammar by
creating separate branches for the prototype and signatures
cases, so that the introduced block and the fact that signatures
do not allow for declarations can be handled properly.

Tests and regen_perly to follow.

7 years agoFixes for Pod-HTML tests after Pod-Simple update
James E Keenan [Tue, 13 Jan 2015 00:57:12 +0000 (19:57 -0500)]
Fixes for Pod-HTML tests after Pod-Simple update

Patch supplied by theory.

Signed-off-by: Chris 'BinGOs' Williams <>
7 years agoUpdate Pod-Simple to CPAN version 3.29
James E Keenan [Sun, 11 Jan 2015 15:20:31 +0000 (10:20 -0500)]
Update Pod-Simple to CPAN version 3.29


2015-01-13   David E. Wheeler <>
  * Release 3.29
  NOTE: This will be the last release of Pod::Simple to support versions
  of Perl earlier than 5.6.

  Fixed test failure for unsupported encoding on Perl 5.6.

  Removed unnecessary dependency on constant. Reported by Petr Pisar
  (RT #85578).

  Many documentation and comment typos fixed by David Steinbrunner.

  Fixed issue when an encoding is declared via an '=encoding' directive
  *after* Pod::Simple has already detected an encoding. Thanks to
  Graham Knop for the patch and Patrice Dumas for the tests.

  Added '>&STDERR' as an output to better emulate
  Pod::Parser::parse_from_file(). Florent Angly.

  Tidied the description of the different Pod::Simple interfaces,
  with greater emphasis on the four different steps to subclassing.
  Florent Angly.

  Added the 'top_anchor' attribue to Pod::Simple::HTML, to allow
  specification of a custom top anchor format. Gabor Szabo.

  Fixed the text formatter to properly set the Text::Wrap overflow policy.
  Thanks to Nigel Metheringham for the fix!

  Fixed mis-matched quotation marks when adding JavaScript elements
  to the XHTML output. Patch from jonathancast.

  Fixed issues on EBCDIC. Patch from Karl Williamson (GitHub Pull
  Request #58).

  Fixed bug where the value passed to Pod::Simple::XHTML's
  html_css() method would be output twice. Thanks to Andrew Johnson
  for the report (RT #99303).

  Documented the 'recurse' attribute of Pod::Simple::Search.
  Thanks to Jim Keenan for the report (RT #91886).

  An error is no longer thrown when '=encoding' directives are found
  on subsequent lines. Instead, we now log a an error message,
  "Cannot have multiple =encoding directives" (RT #91757).

  The HTML and XHTML formatters now do a better job of preserving
  lines in 'begin html' blocks. Fixes a bug that dates from 2002
  (Perl RT#9385, CPAN RT #91851).

Collateral damage to 3 tests under ext/Pod-Html/.

7 years agoperldelta update for 5944609.
James E Keenan [Sun, 18 Jan 2015 03:09:21 +0000 (22:09 -0500)]
perldelta update for 5944609.

7 years agoModule::Metadata 1.000026
Karen Etheridge [Sat, 17 Jan 2015 19:31:47 +0000 (11:31 -0800)]
Module::Metadata 1.000026

7 years agoOne more tiny spelling correction in comment; thanks to alh.
James E Keenan [Sat, 17 Jan 2015 22:23:36 +0000 (17:23 -0500)]
One more tiny spelling correction in comment; thanks to alh.

7 years agoTwo small spelling corrections in comment.
James E Keenan [Sat, 17 Jan 2015 22:02:50 +0000 (17:02 -0500)]
Two small spelling corrections in comment.

7 years agoavoid $a["foo" eq $x ? 0 : 1] warning
David Mitchell [Sat, 17 Jan 2015 19:53:04 +0000 (19:53 +0000)]
avoid $a["foo" eq $x ? 0 : 1] warning

RT #123609

The compiling code that looks for OP_MULTIDEREF candidates was
unconditionally numifying the first constant of an array index expression,
before it had confirmed that the expression consisted solely of a const.
So in something like

    $a['foo' eq $x ? 0 : 1]

the 'foo' would be numified and give a spurious warning:

    Argument "foo" isn't numeric

This commit fixes it by skipping the OP_MULTIDEREF optimisation if the
array index const isn't SvIOK(). In theory this means that something like


no longer gets optimised, but I think we can live with that :-)

It also means that the test for the const being SvROK is no longer

(Finally, I moved the declaration of the iv var down a few scopes as it
wasn't being used elsewhere in the wider scope.)

7 years agoUpdate Porting/ for Devel::PPPort 3.27->3.28.
Matthew Horsfall (alh) [Sat, 17 Jan 2015 16:40:45 +0000 (11:40 -0500)]
Update Porting/ for Devel::PPPort 3.27->3.28.

Missed this in b127ff5

7 years agoUpdate Module-Load-Conditional to CPAN version 0.64
Chris 'BinGOs' Williams [Sat, 17 Jan 2015 16:12:41 +0000 (16:12 +0000)]
Update Module-Load-Conditional to CPAN version 0.64


0.64    Sat Jan 17 13:33:57 GMT 2015

* Resolve an edge-case with DEPRECATED
  [ ]

7 years agoregcomp.c: White-space only
Karl Williamson [Fri, 16 Jan 2015 03:13:45 +0000 (20:13 -0700)]
regcomp.c: White-space only

Indent inside a newly formed block

7 years agoregcomp.c: Fix bug in /[A-Z]/i
Karl Williamson [Fri, 16 Jan 2015 03:03:09 +0000 (20:03 -0700)]
regcomp.c: Fix bug in /[A-Z]/i

This also fixes /[a-z]/i.

When not under /i, these two ranges alone in a bracketed character class
can be optimized into qr/[[:upper:]]/a and qr/[[:lower:]]/a respectively.
This optimization saves space in the pattern (as no bitmap is needed),
and I think it executes faster.  But this optimization has to be
foregone under /i (unless /a is also present) because otherwise
certain non-ASCII characters such as the \N{KELVIN SIGN} don't match,
and they should.

7 years agoregcomp.c: Fix comment
Karl Williamson [Fri, 16 Jan 2015 02:40:24 +0000 (19:40 -0700)]
regcomp.c: Fix comment

7 years agoregcomp.c: Improve generated code for some [:posix:] classes
Karl Williamson [Fri, 16 Jan 2015 01:52:35 +0000 (18:52 -0700)]
regcomp.c: Improve generated code for some [:posix:] classes

For regexes compiled not under /l, [:posix:] classes in general require
special handling, as
    1) under /d they can match two different sets of code points,
       depending on whether or not the target string is in UTF-8.
    2) under /a, the matches above the ASCII range need to be filtered
But note that nothing special is needed for /u, and under [:ascii:],
there is nothing to be filtered out, and the UTF-8ness of the target
doesn't matter either.  And since [:digit:] and [:xdigit:] don't have
matches in the upper Latin1 range, under /d the UTF-8ness doesn't matter
for them either.

This commit skips the special handling for the above conditions.  This
leads to less work during pattern compilation, and can mean faster
run-time code, as well, skipping function calls that otherwise would be

7 years agoregcomp.c: Rmv unneeded temporary
Karl Williamson [Fri, 16 Jan 2015 01:35:40 +0000 (18:35 -0700)]
regcomp.c: Rmv unneeded temporary

7 years agoFix regex pattern dump of ANYOF nodes
Karl Williamson [Thu, 15 Jan 2015 18:32:22 +0000 (11:32 -0700)]
Fix regex pattern dump of ANYOF nodes

An ANYOF node is used to handle bracketed character classes and Unicode
properties.  It is implemented in part as a bit vector of code points
that match for smallish ordinals, plus other means to specify larger
code points, or code points that match only under certain conditions.
For example, under /d, whether [\w] matches word characters in the upper
Latin1 range depends on whether the target string is in UTF-8 or not,
so the characters which are conditionally matched are saved outside
the bitmap.  For performance, there is a flag that gets set if all code
points too large for the bitmap match.  This is a common occurrence for
complemented classes, such as [^a-z].  Prior to this commit, if this
flag was set, those things that are conditionally matched were not
output when dumping the regex pattern (under the command line option
-Dr, for example).

7 years agot/re/reg_mesg.t: Don't need to skip on EBCDIC
Karl Williamson [Wed, 26 Jun 2013 23:44:33 +0000 (17:44 -0600)]
t/re/reg_mesg.t: Don't need to skip on EBCDIC

It now works

7 years agoperlrecharclass: Add some missing documentation
Karl Williamson [Fri, 16 Jan 2015 02:44:19 +0000 (19:44 -0700)]
perlrecharclass: Add some missing documentation

7 years agoRegen podcheck db because of recent fixes to epigraphs.pod
Karl Williamson [Fri, 16 Jan 2015 01:42:10 +0000 (18:42 -0700)]
Regen podcheck db because of recent fixes to epigraphs.pod