This is a live mirror of the Perl 5 development currently hosted at
7 years agoPorting/bump-perl-version: No need to try other maps after one has worked
Steve Hay [Thu, 19 Feb 2015 08:42:46 +0000 (08:42 +0000)]
Porting/bump-perl-version: No need to try other maps after one has worked

7 years agoModule-CoreList-5.20150220 is now on CPAN
Steve Hay [Sat, 21 Feb 2015 16:44:31 +0000 (16:44 +0000)]
Module-CoreList-5.20150220 is now on CPAN

7 years agoOne $VERSION bump missed by 2f553ae1e1
Steve Hay [Sat, 21 Feb 2015 16:11:33 +0000 (16:11 +0000)]
One $VERSION bump missed by 2f553ae1e1

7 years agoUpdate Getopt-Long to CPAN version 2.44
Chris 'BinGOs' Williams [Sat, 21 Feb 2015 13:08:08 +0000 (13:08 +0000)]
Update Getopt-Long to CPAN version 2.44


Changes in version 2.44

* Be gentle to the user community and turn fix 92462 into a warning.
  This may be changed back to error in some future release.

7 years agoadd missing infnan context under thread/quadmath builds
Lukas Mai [Sat, 21 Feb 2015 10:29:45 +0000 (11:29 +0100)]
add missing infnan context under thread/quadmath builds

7 years agotweak version number of Module::CoreList
Sawyer X [Sat, 21 Feb 2015 07:27:54 +0000 (08:27 +0100)]
tweak version number of Module::CoreList

7 years agoadd some dummy entries to Module::CoreList for 5.21.10
Sawyer X [Sat, 21 Feb 2015 06:54:55 +0000 (07:54 +0100)]
add some dummy entries to Module::CoreList for 5.21.10

7 years agoadded link to announcement
Sawyer X [Sat, 21 Feb 2015 06:44:28 +0000 (07:44 +0100)]
added link to announcement

7 years agonew delta for 5.21.10
Sawyer X [Sat, 21 Feb 2015 06:15:31 +0000 (07:15 +0100)]
new delta for 5.21.10

7 years agoadd my epigraph, tick 5.21.9 release
Sawyer X [Sat, 21 Feb 2015 06:06:54 +0000 (07:06 +0100)]
add my epigraph, tick 5.21.9 release

7 years agoadd new release to perlhist v5.21.9
Sawyer X [Sat, 21 Feb 2015 04:03:37 +0000 (05:03 +0100)]
add new release to perlhist

7 years agofinalize perldelta and Module::CoreList updates
Sawyer X [Sat, 21 Feb 2015 03:39:03 +0000 (04:39 +0100)]
finalize perldelta and Module::CoreList updates

7 years agofix typos
Sawyer X [Sat, 21 Feb 2015 03:34:46 +0000 (04:34 +0100)]
fix typos

7 years agoUpdate Module::CoreList for 5.21.9
Sawyer X [Sat, 21 Feb 2015 02:03:13 +0000 (03:03 +0100)]
Update Module::CoreList for 5.21.9

7 years agopodcheck: accept links to autobox
Ricardo Signes [Sat, 21 Feb 2015 01:14:28 +0000 (20:14 -0500)]
podcheck: accept links to autobox

7 years agoUpdate perldelta
Sawyer X [Sat, 21 Feb 2015 00:10:25 +0000 (01:10 +0100)]
Update perldelta

7 years agopp_pack.c: Silence compiler warning
Karl Williamson [Fri, 20 Feb 2015 16:27:16 +0000 (09:27 -0700)]
pp_pack.c: Silence compiler warning

This was introduced by 9df874cdaa2f196cc11fbd7b82a85690c243eb9f
in changing the name of some static functions.  I didn't realize at the
time that the function was defined in embed.fnc, as none of the others
are, and it was always called with the S_ prefix form.  Nor did I notice
the compiler warnings.

It turns out that the base name of this function is the same as a public
function, so I've renamed it to have prefix 'S_my_'.

7 years agoupdate perldelta for some modules and pragmas upgrades
Sawyer X [Fri, 20 Feb 2015 07:28:20 +0000 (08:28 +0100)]
update perldelta for some modules and pragmas upgrades

7 years agoperldelta for e47d32dcd and d27f4b91 / #123712
Father Chrysostomos [Fri, 20 Feb 2015 06:40:29 +0000 (22:40 -0800)]
perldelta for e47d32dcd and d27f4b91 / #123712

7 years agoperldelta for parser crashes
Father Chrysostomos [Fri, 20 Feb 2015 06:36:53 +0000 (22:36 -0800)]
perldelta for parser crashes


7 years agoperldelta for df442ae4d / #123466
Father Chrysostomos [Fri, 20 Feb 2015 06:31:24 +0000 (22:31 -0800)]
perldelta for df442ae4d / #123466

7 years agoperldelta for 2f465e08e / #123652
Father Chrysostomos [Fri, 20 Feb 2015 06:26:25 +0000 (22:26 -0800)]
perldelta for 2f465e08e / #123652

7 years agoregcomp.c: Add assertion
Karl Williamson [Fri, 20 Feb 2015 04:03:44 +0000 (21:03 -0700)]
regcomp.c: Add assertion

7 years agoAdd \b{sb}
Karl Williamson [Fri, 20 Feb 2015 02:42:33 +0000 (19:42 -0700)]
Add \b{sb}

7 years agoregen/ Add tables for \b{sb}
Karl Williamson [Fri, 20 Feb 2015 02:37:47 +0000 (19:37 -0700)]
regen/ Add tables for \b{sb}

This single line addition generates a very confused diff listing for the
generated file.

7 years agoAdd qr/\b{wb}/
Karl Williamson [Thu, 19 Feb 2015 22:19:08 +0000 (15:19 -0700)]
Add qr/\b{wb}/

7 years agoregen/ Add tables for \b{wb}
Karl Williamson [Thu, 19 Feb 2015 21:54:54 +0000 (14:54 -0700)]
regen/ Add tables for \b{wb}

This single line change generates very a confused diff listing for the
generated file, so is kept separate form the other \b{wb} commits.

7 years agoRemove obsolete macros/tables for \X
Karl Williamson [Thu, 19 Feb 2015 20:21:22 +0000 (13:21 -0700)]
Remove obsolete macros/tables for \X

A previous commit changed how \X is implemented, and now we don't need
these anymore.

7 years agoregexec.c: White-space only
Karl Williamson [Mon, 9 Feb 2015 06:04:18 +0000 (23:04 -0700)]
regexec.c: White-space only

Add indentation, as the previous commit added a switch{} around these.

7 years agoAdd qr/\b{gcb}/
Karl Williamson [Tue, 17 Feb 2015 22:03:32 +0000 (15:03 -0700)]
Add qr/\b{gcb}/

A function implements seeing if the space between any two characters is
a grapheme cluster break.  Afer I wrote this, I realized that an array
lookup might be a better implementation, but the deadline for v5.22 was
too close to change it.  I did see that my gcc optimized it down to
an array lookup.

This makes the implementation of \X go from being complicated to

7 years agoregen/ Add GCB tables
Karl Williamson [Wed, 18 Feb 2015 22:40:26 +0000 (15:40 -0700)]
regen/ Add GCB tables

This will enable the next commit to add \b{gcb}.

I separated this out from that commit because the diff output here is is
very confused, not accurately showing the underlying changes.  Actually
two data structures are being added for every character set, and nothing
else changed.

7 years agoregen/ Revamp #if generation
Karl Williamson [Thu, 19 Feb 2015 04:49:16 +0000 (21:49 -0700)]
regen/ Revamp #if generation

This changes where the symbols are defined to a single file each.  This
may save text space, depending on the compiler.  The next commit will
cause this hdr to be included in more places, so it becomes more
important to do this.

At the same time this removes the guard for #ifndef PERL_IN_XSUB_RE.
The code now is executed regardless of that.  This is simpler, and
previously there might have been the possibility of uninitialized memory
being read, should re_comp.o be executed before recomp.o.

7 years agoregen/ Add capability for line break props
Karl Williamson [Wed, 18 Feb 2015 22:29:09 +0000 (15:29 -0700)]
regen/ Add capability for line break props

This is a partial implementation of a full inversion map generation
capability, which is why some code is indented more than necessary --
in the future there will be things that use that.  But this is
sufficient for 5.22.

This allows for the generation of tables to handle the Unicode line
breaking properties, like GCB and WB.  Future commits will actually use
this capability.

7 years agomktables: Refactor \X test so can be used for others
Karl Williamson [Fri, 20 Feb 2015 01:49:56 +0000 (18:49 -0700)]
mktables: Refactor \X test so can be used for others

The test file generated by mktables will soon contain other types of
breaks than \X.  This prepares for that by making a more general
function that can be the bottom level for each

7 years agoRemove another dead function in vms/vms.c.
Craig A. Berry [Fri, 20 Feb 2015 03:11:50 +0000 (21:11 -0600)]
Remove another dead function in vms/vms.c.

No use for the utf8_to_vtf7 function has appeared in the first
nine years of its existence so it's not earning its keep.

7 years agoFix some style issues in vms/vms.c.
Craig A. Berry [Fri, 20 Feb 2015 02:51:15 +0000 (20:51 -0600)]
Fix some style issues in vms/vms.c.

This normalizes function definitions and addresses the most
egregious of the Totally Forgot to Indent At All problems that are
rampant throughout this file.

For now I've punted on normalizing indents and tried to be
consistent with whatever local variant seems to be in use. There
are 2-, 3- (!), and 4-space indents, along with a liberal
sprinkling of tab characters, most (but not all) of which seem to
be intended to be equivalent to 8 spaces.

I considered normalizing indents with some like

   astyle -c --style=linux vms.c

but that produces 8400+ changed lines, which doesn't seem worth it.

7 years agoUpdate copyright in vms/vms.c.
Craig A. Berry [Thu, 19 Feb 2015 23:39:19 +0000 (17:39 -0600)]
Update copyright in vms/vms.c.

7 years agoregen podcheck.t db
Karl Williamson [Thu, 19 Feb 2015 20:25:20 +0000 (13:25 -0700)]
regen podcheck.t db

The RMG now has one more verbatim line longer than 79 columns

7 years does handle usedevel.
Craig A. Berry [Thu, 19 Feb 2015 01:10:19 +0000 (19:10 -0600)] does handle usedevel.

So don't hard-code it to undef as was done in 1be1b388c18674b89.

7 years agoFix t/op/dump.t warning in skip case.
Craig A. Berry [Thu, 19 Feb 2015 01:06:29 +0000 (19:06 -0600)]
Fix t/op/dump.t warning in skip case.

When the whole test is skipped, the END block that does a chdir
to $start throws a warning because $start is not defined.  So
check for definedness.

7 years agoRandy Stauneris now a perl author
Tony Cook [Wed, 18 Feb 2015 23:08:58 +0000 (10:08 +1100)]
Randy Stauneris now a perl author

7 years agoFix minor code typos in perlunicook
Randy Stauner [Tue, 17 Feb 2015 14:43:18 +0000 (07:43 -0700)]
Fix minor code typos in perlunicook

7 years agoRMG: avoid saying "final" release; gets confused with BLEAD-FINAL
Ricardo Signes [Wed, 18 Feb 2015 21:11:08 +0000 (16:11 -0500)]
RMG: avoid saying "final" release; gets confused with BLEAD-FINAL

7 years agoutf8.c: Slight refactor of UTF-16 code
Karl Williamson [Tue, 17 Feb 2015 22:25:21 +0000 (15:25 -0700)]
utf8.c: Slight refactor of UTF-16 code

This eliminates a branch in the usual case, at the expense of an extra
one in the rarer case, which allows us to collapse some error condition
code.   It sprinkles some UNLIKELYs.

7 years agoperlre: Nits
Karl Williamson [Tue, 17 Feb 2015 21:48:32 +0000 (14:48 -0700)]
perlre: Nits

7 years agoperldelta: Fix typo
Karl Williamson [Wed, 18 Feb 2015 20:31:30 +0000 (13:31 -0700)]
perldelta: Fix typo

7 years agolib/B/Deparse.t: Suppress unescaped qr/{/ message
Karl Williamson [Wed, 18 Feb 2015 20:00:07 +0000 (13:00 -0700)]
lib/B/Deparse.t: Suppress unescaped qr/{/ message

7 years agoUnicode::UCD: Add charprops_all() public function
Karl Williamson [Wed, 18 Feb 2015 19:24:42 +0000 (12:24 -0700)]
Unicode::UCD: Add charprops_all() public function

7 years agoUnicode::UCD: Add charprop public function
Karl Williamson [Wed, 18 Feb 2015 19:16:00 +0000 (12:16 -0700)]
Unicode::UCD: Add charprop public function

7 years agolib/Unicode/UCD.t: White-space only
Karl Williamson [Sun, 15 Feb 2015 16:38:08 +0000 (09:38 -0700)]
lib/Unicode/UCD.t: White-space only

This aligns to a tab-stop, making it easier for me to type the next

7 years agolib/Unicode/UCD.t: Convert some single quotes to double
Karl Williamson [Sat, 14 Feb 2015 16:29:55 +0000 (09:29 -0700)]
lib/Unicode/UCD.t: Convert some single quotes to double

This is in part because "" is easier to read than '', but more
importantly a future commit will want to have double quotish context in
places, and this makes it easier for me to convert to that.

7 years agoUnicode::UCD::prop_value_aliases() Don't return invalid value
Karl Williamson [Wed, 18 Feb 2015 18:57:02 +0000 (11:57 -0700)]
Unicode::UCD::prop_value_aliases() Don't return invalid value

Prior to this commit, if you said

    prop_value_aliases("Any", "foo")

it would return "foo".  But there really aren't any synonyms for the
"Any" property values, so it should return undef instead.

7 years agoUnicode::UCD: Pod corrections, clarifications
Karl Williamson [Sat, 14 Feb 2015 16:34:39 +0000 (09:34 -0700)]
Unicode::UCD: Pod corrections, clarifications

7 years ago[perl #123874] fix argument underflow for pack()
Hugo van der Sanden [Wed, 18 Feb 2015 14:59:53 +0000 (14:59 +0000)]
[perl #123874] fix argument underflow for pack()

NEXTFROM() modified the item count while testing it, so the next use
saw the count (of -1) as non-zero and ended up trying to write ~1 bytes.

7 years ago[perl #123870] fixup trie runtime debug output
Hugo van der Sanden [Wed, 18 Feb 2015 10:55:15 +0000 (10:55 +0000)]
[perl #123870] fixup trie runtime debug output

The trie_words av may not exist if -Dr was not enabled at compile time,
so we must be more defensive for debug output at runtime.

7 years agoRemove some remnants of x2p, which was removed by commit e5a8a0fbd7
Steve Hay [Wed, 18 Feb 2015 08:26:36 +0000 (08:26 +0000)]
Remove some remnants of x2p, which was removed by commit e5a8a0fbd7

References to PERL_FOR_X2P probably have to stay in case any third-party
code is #defining it. Likewise, NO_PERL_TYPEDEFS in vms/vmsish.h has to
stay because it actually is used by App::a2p.

Cross/Makefile.SH.patch still needs regenerating since it contains
references to x2p in the top-level Makefile.SH which were removed by

A few other references to x2p/a2p/find2p/s2p still remain, which I am less
sure about removing, plus some others in documentation which should stay

7 years agoMake nowait spawn return correct pid on VMS.
Craig A. Berry [Wed, 18 Feb 2015 03:27:42 +0000 (21:27 -0600)]
Make nowait spawn return correct pid on VMS.

Apparently I missed this back in eed5d6a149b02.  When spawning a
subprocess without waiting, the return value is the pid of that
process, but we need to let pp_system know we're doing that so it
doesn't manipulate the value as if it were an exit status.

One symptom was that t/'s watchdog would sometimes report
that it had failed to start when in fact it had started just fine.

7 years ago[perl #123852] avoid capture side-effects under noncapture flag
Hugo van der Sanden [Tue, 17 Feb 2015 03:27:33 +0000 (03:27 +0000)]
[perl #123852] avoid capture side-effects under noncapture flag

//n was implemented by avoiding the primary side-effects of compiling
a capture when the flag was turned on; however some secondary effects
still occurred later in the same function, by using the value of the
'paren' variable - even as far as causing coredumps.

Setting paren to ':' when NOCAPTURE is enabled makes the rest of the
function act just as if it had parsed (?:...) instead of (...).

7 years agoFix where we look for the Sun Studio compiler
Chris 'BinGOs' Williams [Tue, 17 Feb 2015 18:01:20 +0000 (18:01 +0000)]
Fix where we look for the Sun Studio compiler

It can be solarisstudio* as well

7 years agopp_pack.c: White-space only
Karl Williamson [Fri, 12 Dec 2014 00:21:45 +0000 (17:21 -0700)]
pp_pack.c: White-space only

This outdents some code whose enclosing block was removed in the
previous commit

7 years agopp_pack.c: Rmv useless code
Karl Williamson [Fri, 12 Dec 2014 00:17:45 +0000 (17:17 -0700)]
pp_pack.c: Rmv useless code

As noted in the thread starting at
and in the comments added in this commit, strings packed in 'u' format
don't need any UTF-8ness special handling, so the code that did that can
be removed.

7 years agopp_pack.c: Refactor to remove #if EBCDIC
Karl Williamson [Wed, 10 Dec 2014 03:57:52 +0000 (20:57 -0700)]
pp_pack.c: Refactor to remove #if EBCDIC

This commit causes the same code to be executed whether on an ASCII or
EBCDIC platform.

7 years agopp_pack.c: Change name of some static functions
Karl Williamson [Wed, 10 Dec 2014 00:45:35 +0000 (17:45 -0700)]
pp_pack.c: Change name of some static functions

Early code tends to conflate the terms Unicode and UTF-8.  I find that

7 years agoperldsc: Wrap too-long verbatim lines
Karl Williamson [Tue, 17 Feb 2015 16:42:56 +0000 (09:42 -0700)]
perldsc: Wrap too-long verbatim lines

7 years agot/io/bom.t: Generalize for non-ASCII platforms
Karl Williamson [Sat, 6 Apr 2013 16:15:05 +0000 (10:15 -0600)]
t/io/bom.t: Generalize for non-ASCII platforms

This commit was updated on February 17, 2015 before being pushed to
blead to incorporate work from  Hugo van der Sanden and Dagfinn Ilmari

7 years agoUpdate Unicode-Collate to CPAN version 1.11
Chris 'BinGOs' Williams [Tue, 17 Feb 2015 14:49:50 +0000 (14:49 +0000)]
Update Unicode-Collate to CPAN version 1.11


1.11  Tue Feb 17 21:23:03 2015
    - XS: [ #102024] remove extranous const casting

7 years agofix handling of non-strict \x{}
Hugo van der Sanden [Mon, 16 Feb 2015 02:42:02 +0000 (02:42 +0000)]
fix handling of non-strict \x{}

It should be equivalent to \x{0}.

7 years agoRemove dead function from vms/vms.c
Craig A. Berry [Tue, 17 Feb 2015 01:14:30 +0000 (19:14 -0600)]
Remove dead function from vms/vms.c

fix_bare_dirnames is not used anywhere and doesn't actually do
anything.  It appears to be a placeholder for something that has
not materialized in the 10 years of it existence, so time to tidy

7 years agoperldelta for 816b056ffb99, 3bea78d24634
Tony Cook [Tue, 17 Feb 2015 00:00:37 +0000 (11:00 +1100)]
perldelta for 816b056ffb993bea78d24634

7 years agoh2ph: correct handling of hex constants for the preamble
Tony Cook [Mon, 16 Feb 2015 04:57:00 +0000 (15:57 +1100)]
h2ph: correct handling of hex constants for the preamble

Previously they were treated as identifiers resulting in code
generated like C< &0xFFF >.

We also try to prevent compile-time warnings from large hex integers,
the user isn't responsible for the generated code, so we delay those
warnings to run-time.

7 years agoFix generation for gcc-5.0
Petr Písař [Wed, 11 Feb 2015 14:46:37 +0000 (15:46 +0100)]
Fix generation for gcc-5.0

gcc-5.0 -E interleaves now line numbers with expended macros, so that
the generated errno.c will be preprocessed to

EBFONT => [[

which is hard to parse in in line-based reader.

So use -P option with gcc >= 5.0. Global -P usage would break makedepend,
global -ftrack-macro-expansion=0 would break lib/h2ph.t.


7 years agoperldelta for 436b3d12366a, 2631bbca12a9
Tony Cook [Mon, 16 Feb 2015 22:59:58 +0000 (09:59 +1100)]
perldelta for 436b3d12366a2631bbca12a9

7 years ago[perl #123836] dump LABEL shouldn't be goto LABEL
Tony Cook [Mon, 16 Feb 2015 00:55:24 +0000 (11:55 +1100)]
[perl #123836] dump LABEL shouldn't be goto LABEL

7 years ago[perl #123836] basic tests for dump, catches the issue as a TODO
Tony Cook [Mon, 16 Feb 2015 00:54:25 +0000 (11:54 +1100)]
[perl #123836] basic tests for dump, catches the issue as a TODO

7 years agoModernize the code - "my" declarations and comments.
Shlomi Fish [Mon, 16 Feb 2015 14:46:29 +0000 (16:46 +0200)]
Modernize the code - "my" declarations and comments.

For: RT #123636

7 years agoSocket updated to CPAN version 2.018
Chris 'BinGOs' Williams [Mon, 16 Feb 2015 14:53:54 +0000 (14:53 +0000)]
Socket updated to CPAN version 2.018


2.018   2015/02/12 13:42:41
         * Fix for "addr is not a string" test to use SvPOKp() before 5.18

7 years agoCPAN has version 5.20150214 now
Chris 'BinGOs' Williams [Mon, 16 Feb 2015 14:52:56 +0000 (14:52 +0000)]
CPAN has version 5.20150214 now

7 years agoDeparse state sub defined in inner subs
Father Chrysostomos [Wed, 31 Dec 2014 00:32:59 +0000 (16:32 -0800)]
Deparse state sub defined in inner subs

When we have ‘state sub x; sub { sub x { ... } }’, the actual &x sub-
routine  is not contained in the pad of the anonymous sub.  There is
only a pad entry pointing to the outer pad.  So we have go digging for
it by following ->OUTSIDE pointers.

This is only a partial fix.  If you wrap the code above in eval
'sub{...}' and deparse it, the state sub definition is missing,
because it is not available via ->OUTSIDE pointers.  I do not know
yet whether it is possible to get to it.  The to-do test in Deparse.t
used to croak.

7 years agoregen uconfig
H.Merijn Brand [Mon, 16 Feb 2015 09:38:48 +0000 (10:38 +0100)]
regen uconfig

7 years agoSmall doc change
H.Merijn Brand [Mon, 16 Feb 2015 09:08:28 +0000 (10:08 +0100)]
Small doc change

7 years agoRMG: Encourage use of
Steve Hay [Mon, 16 Feb 2015 08:50:00 +0000 (08:50 +0000)]
RMG: Encourage use of

7 years agorestore VC with dmake after commit "Fix minitest (op/taint.t) for GCC 4.x"
Daniel Dragan [Mon, 16 Feb 2015 05:03:07 +0000 (00:03 -0500)]
restore VC with dmake after commit "Fix minitest (op/taint.t) for GCC 4.x"

commit dbf36b7ad7 broke VC with dmake building by not defining the
test-prep-gcc target for VC builds. Instead of using $(NOOP), which incurs
the cost of dmake lauching another cmd.exe process to execute "rem", use
make lang preprocessor directives. Example of error

C:\perl521\src\win32>dmake test
.......normal building here.....
..\miniperl.exe -I..\lib ..\pod\perlmodlib.PL -q ..
..\perl.exe -f ..\pod\buildtoc -q
dmake:  Error: -- `test-prep-gcc' not found, and can't be made


7 years ago[perl #123712] Don’t check sub_inwhat
Father Chrysostomos [Mon, 16 Feb 2015 05:22:00 +0000 (21:22 -0800)]
[perl #123712] Don’t check sub_inwhat

PL_sublex_info.sub_inwhat (in the parser struct) is a temporary spot
to store the value of PL_lex_inwhat (also in the parser struct)
when a sub-lexing scope (for a quote-like operator) is entered.
PL_lex_inwhat is localised, and the value is copied from its temporary
spot (sub_inwhat) into PL_lex_inwhat.

The PL_sublex_info.sub_inwhat was not localised, but instead the value
was set to 0 when a sub-lexing scope was exited.  This value was being
used, in a couple of places, to determine whether we were inside a
quote-like operator.  But because the value is not localised, it can
be wrong when it is set to 0, if we have nested lexing scopes.

So this ends up crashing for the same reason described in e47d32dcd5:

echo -n '/$a[m||/<<a' | ./miniperl

perl-5.005_02-1816-g09bef84 added the first use of
PL_sublex_info.sub_inwhat to determine whether we are in a quote-like
operator.  (Later it got shifted around.)  I copied that in e47d32dcd5
(earlier today), because I assumed the logic was correct.  Other parts
of the code use PL_lex_inwhat, which is already localised, as I said,
and does not suffer this problem.

If we do not check PL_sublex_info.sub_inwhat to see if we are in
a quote-like construct, then we don’t need to clear it on lexing
scope exit.

7 years ago[perl #123816] fix stat stacking
Hugo van der Sanden [Fri, 13 Feb 2015 12:26:50 +0000 (12:26 +0000)]
[perl #123816] fix stat stacking

The check function for filetests avoids treating '-t stat' as a pair of
stackable filetests, but needs also to avoid treating 'stat -t' as

7 years ago[perl #123712] Fix /$a[/ parsing
Father Chrysostomos [Mon, 16 Feb 2015 01:11:47 +0000 (17:11 -0800)]
[perl #123712] Fix /$a[/ parsing

The parser used to read more lines of input when parsing code interpo-
lated into quote-like operators, under some circumstance.  This would
result in code like this working, even though it should be a syn-
tax error:

/s}Just another Perl hacker,

"${;s/.*/Just an";
other Perl hacker,
/s} die or return;

While this was harmless, other cases, like /$a[/<<a with no trailing
newline, would cause unexpected internal state that did not meet the
reasonable assumptions made by S_scan_heredoc, resulting in a crash.

The simplest fix is to modify the function that reads more input,
namely, lex_next_chunk, and prevent it from reading more lines of
input from inside a quote-like operator.  (The alternative would be to
modify all the calls to lex_next_chunk, and make them conditional.)
That breaks here-doc parsing for things like s//<<EOF/, but the
LEX_NO_TERM flag to lex_next_chunk is used only by the here-doc
parser, so lex_next_chunk can make an exception if it is set.

7 years agotoke.c: Don’t bother setting type for FORMRBRACK
Father Chrysostomos [Sun, 15 Feb 2015 23:43:00 +0000 (15:43 -0800)]
toke.c: Don’t bother setting type for FORMRBRACK

The type is unused, so there is no need to set it to 0.

7 years agoperly.y: Remove type from ';'
Father Chrysostomos [Sun, 15 Feb 2015 23:41:20 +0000 (15:41 -0800)]
perly.y: Remove type from ';'

This token’s type is never used.  We don’t bother setting the type,
either, in toke.c, so it will be garbage.  Removing the type makes
it harder to use the garbage value by mistake in refactoring.

7 years ago[perl #123843] fix SEGV reading data->flags
Hugo van der Sanden [Sun, 15 Feb 2015 11:44:00 +0000 (11:44 +0000)]
[perl #123843] fix SEGV reading data->flags

This could be triggered by trying to compile eg 'qr{x+(y(?0))*}'.

7 years ago(rmv dead -I paths for mktables + rmv copying non-existant path) on Win32
Daniel Dragan [Sun, 15 Feb 2015 15:09:39 +0000 (10:09 -0500)]
(rmv dead -I paths for mktables + rmv copying non-existant path) on Win32

Introduced in commit f54fcafc49 in 5.11.2 , the -I paths are dead since
commit cb8c84586a in 5.19.6 that renamed dist/Cwd to dist/PathTools . Since
the paths have been invalid for so long with no complaints so remove them.
That -I probably isn't needed anymore because Cwd AKA PathTools have been
in since day 1 of in
commit 5e4c4c91bd from 5.13.10 .

The makefile line says to copy to /lib the directory win32/lib. win32/lib
has never existed in Perl. There was a win32/ext from commit b4ad57f4f7 in
5.9.2 to commit 78ff2d7be7 in 5.9.5 but not win32/lib. The useless
makefile rule is from day 1 of in commit 08aa1457cd in 5.004001
which was copied from the win32/Makefile, at the time of commit 08aa1457cd.
win32/Makefile got the win32/lib copy line from day 1 of win32/Makefile in
commit 0a753a7640 , and there was no /win32/lib when /win32 was commited.

7 years agorelease schedule udpates through March 2015
Ricardo Signes [Sun, 15 Feb 2015 17:34:05 +0000 (12:34 -0500)]
release schedule udpates through March 2015

7 years agoTurn on memory leak reporting for CFG = DebugFull builds on Windows
Steve Hay [Sun, 15 Feb 2015 16:06:43 +0000 (16:06 +0000)]
Turn on memory leak reporting for CFG = DebugFull builds on Windows

Setting _CRTDBG_LEAK_CHECK_DF arranges for _CrtDumpMemoryLeaks() to be
called automatically at program termination, outputting a report of all
allocations that have not been freed into the Output window in Developer

If a leak is reported then note its allocation number, change the -1 in
the _CrtSetBreakAlloc(-1L) call to the leaked allocation number and
rebuild. A breakpoint will be set on the allocation call that leaked.

(A slicker approach is to have the report include the file name and line
number of the leaked allocation call by inserting

#include <crtdbg.h>

early in each compilation unit (e.g. by inserting it early in perl.h), but
that works by re-#defining malloc/free etc, which unfortunately clashes
with #defines in win32/win32iop.h and with the 'free' member of the
regexp_engine struct in regexp.h.)

7 years agoAdd comments about how backrefs are parsed
Yves Orton [Sun, 15 Feb 2015 07:45:18 +0000 (15:45 +0800)]
Add comments about how backrefs are parsed

7 years agofix infinite loop in parsing backrefs in regex patterns
Yves Orton [Sun, 15 Feb 2015 07:38:29 +0000 (15:38 +0800)]
fix infinite loop in parsing backrefs in regex patterns

7 years agoAdd a TODO test for not infinite looping during regex backref parsing
Yves Orton [Sun, 15 Feb 2015 07:26:22 +0000 (15:26 +0800)]
Add a TODO test for not infinite looping during regex backref parsing

7 years agoadd a comment so people looking for "sub run_perl" find the right thing
Yves Orton [Sun, 15 Feb 2015 06:53:39 +0000 (14:53 +0800)]
add a comment so people looking for "sub run_perl" find the right thing

7 years agoCopy perl5202delta into blead
Steve Hay [Sat, 14 Feb 2015 19:10:37 +0000 (19:10 +0000)]
Copy perl5202delta into blead

7 years agoUpdate release schedule: 5.20.2 is done; 5.20.3 will probably happen
Steve Hay [Sat, 14 Feb 2015 18:49:34 +0000 (18:49 +0000)]
Update release schedule: 5.20.2 is done; 5.20.3 will probably happen

7 years agoUpdate Porting/epigraphs.pod for Perl 5.20.2
Steve Hay [Sat, 14 Feb 2015 18:43:51 +0000 (18:43 +0000)]
Update Porting/epigraphs.pod for Perl 5.20.2

7 years agoMore updates to Module-CoreList for Perl 5.20.2
Steve Hay [Sat, 14 Feb 2015 16:24:32 +0000 (16:24 +0000)]
More updates to Module-CoreList for Perl 5.20.2

The date-based $VERSIONs for the 5.20.2 release need updating too. The
module files' $VERSIONs are left on 5.20150220 in blead for the impending
release of 5.21.9, though; they will only be updated to 5.20150214 in the
maint-5.20 branch itself.

7 years agoUpdate perlhist: Perl 5.20.2 today
Steve Hay [Sat, 14 Feb 2015 15:59:46 +0000 (15:59 +0000)]
Update perlhist: Perl 5.20.2 today