This is a live mirror of the Perl 5 development currently hosted at
8 years ago[perl #114040] Parse here-docs correctly in quoted constructs
Father Chrysostomos [Sun, 19 Aug 2012 09:45:38 +0000 (02:45 -0700)]
[perl #114040] Parse here-docs correctly in quoted constructs

When parsing code outside a string eval or quoted construct, the lexer
reads one line at a time into PL_linestr.

To parse a here-doc (hereinafter ‘deer hock’, because I spike lunar-
isms), the lexer has to pull extra lines out of the input stream ahead
of the current line, the value of PL_linestr remaining the same.

In a string eval, the entire piece of code being parsed is in

To parse a deer hock inside a string eval, the lexer has to fiddle
with the contents of PL_linestr, scanning for newline characters.

Originally, S_scan_heredoc just followed those two approaches.

When the lexer encounters a quoted construct, it looks for the end-
ing delimiter (reading from the input stream if necessary), puts the
entire quoted thing (minus quotes) in PL_linestr, and then starts an
inner lexing scope.

This means that deer hocks would not nest properly outside of a string
eval, because the body of the inner deer hock would be pulled out of
the input stream *after* the outer deer hock.

Larry Wall fixed that in commit fd2d095329 (Jan. 1997), so that this
would work:


He did so by following the string eval approach (looking for the deer
hock body in PL_linestr) if the deer hock was inside another quoted

Later, commit a2c066523a (Mar. 1998) fixed this:

s/^not /substr(<<EOF, 0, 0)/e;

by following the string eval approach only if the deer hock was inside
another non-backtick deer hock, not just any quoted construct.

The problem with the string eval approach inside a substitu-
tion is that it only looks in PL_linestr, which only contains
‘substr(<<EOF, 0, 0)’ when the lexer is handling the second part of
the s/// operator.

But that unfortunately broke this:

s/^not /substr(<<EOF, 0, 0)

and this:

print <<`EOF`;
echo stuff

reverting it to the pre-fd2d095329 behaviour, because the outer quoted
construct was treated as one line.

Later on, commit 0244c3a403 (Mar. 1999) fixed this:

eval 's/.../<<FOO/e

which required a new approach not used before.  When the replacement
part of the s/// is being parsed, PL_linestr contains ‘<<FOO’.  The
body of the deer hock is not in the input stream (there isn’t one),
but in what was the previous value of PL_linestr before the lexer
encountered s///.

So 0244c3a403 fixed that by recording pointers into the outer string
and using them in S_scan_heredoc.  That commit, for some reason, was
written such that it applied only to substitutions, and not to other
quoted constructs.

It also failed to take interpolation into account, and did not record
the outer buffer position, but then tried to use it anyway, resulting
in crashes in both these cases:

eval 's/${ <<END }//';
eval 's//${ <<END }//';

It also failed to take multiline s///’s into account, resulting in
neither of these working, because it lost track of the current cursor,
leaving it at 'D' instead of the line break following it:

eval '
blah blah blah
;1' or die $@;

eval '
blah blah blah
;1' or die $@;

S_scan_heredoc currently positions the cursor (s) at the last charac-
ter of <<END if there is a line break on the same line.  There is an
s++ later on to account, but the code added by 0244c3a403 bypassed it.

So, in the end, deer hocks could only be nested in other quoted con-
structs if the outer construct was in a string eval and was not s///,
or was a non-backtick deer hock.

This commit hopefully fixes most of the problems. :-)

The s///-in-eval case is a little tricky.  We have to see whether the
deer hock label is on the last line of the s///.  If it is, we have
to peek into the outer buffer.  Otherwise, we have to treat it like a
string eval.

This commit does not deal with <<END inside the pattern of a multi-
line s/// or in nested quotes.

8 years ago[perl #70836] Fix err msg for unterminated here-doc in eval
Father Chrysostomos [Sun, 19 Aug 2012 06:54:02 +0000 (23:54 -0700)]
[perl #70836] Fix err msg for unterminated here-doc in eval

$ perl -e '<<foo'
Can't find string terminator "foo" anywhere before EOF at -e line 1.

$ perl -e 'eval "<<foo"; die $@'
Can't find string terminator "
foo" anywhere before EOF at (eval 1) line 1.

An internal implementation detail is leaking out.

When the lexer happens to have a multiline string in its line buffer
(in a string eval or quoted construct), it looks for "\nfoo" instead
of "foo".  It was passing that same string to the error-reporting code
(S_missingterm), resulting in that extraneous newline.

8 years agoIncrease $Module::CoreList::TieHashDelta::VERSION to 2.72
Father Chrysostomos [Tue, 21 Aug 2012 15:25:13 +0000 (08:25 -0700)]
Increase $Module::CoreList::TieHashDelta::VERSION to 2.72

8 years ago[ #79109] Avoid each $scalar in
Father Chrysostomos [Tue, 21 Aug 2012 15:24:16 +0000 (08:24 -0700)]
[ #79109] Avoid each $scalar in

This is dual-life, after all.

8 years agoutf8 pos cache: always keep most recent value
David Mitchell [Tue, 21 Aug 2012 09:55:00 +0000 (10:55 +0100)]
utf8 pos cache: always keep most recent value

UTF-8 strings may have magic attached that caches up to two byte position
to char position (or vice versa) mappings.

When a third position has been calculated (e.g. via sv_pos_b2u()), the
code has to decide how to update the cache: i.e. which value to discard.
Currently for each of the three possibilities, it looks at what would be
the remaining two values, and calculates the RMS sum of the three
distances between ^ ... cache A .. cache B ... $. Whichever permutation
gives the lowest result is picked. Note that this means that the most
recently calculated value may be discarded.

This makes sense if the next position request will be for a random part of
the string; however in reality, the next request is more likely to be for
the same position, or one a bit further along. Consider the following
innocuous code:

    $_ = "\x{100}" x 1_000_000;
    $p = pos while /./g;

This goes quadratic, and takes 150s on my system. The fix is is to always
keep the newest value, and use the RMS calculation only to decide which of
the two older values to discard. With this fix, the above code takes 0.4s.
The test suite takes the same time in both cases, so there's no obvious
slowdown elsewhere with this change.

8 years agoRestore MANIFEST entry for Module::CoreList, sync with CPAN version
Chris 'BinGOs' Williams [Tue, 21 Aug 2012 06:53:01 +0000 (07:53 +0100)]
Restore MANIFEST entry for Module::CoreList, sync with CPAN version

8 years agoConsistent unixy path handling in File::Find::_find_opt.
Craig A. Berry [Tue, 21 Aug 2012 00:15:23 +0000 (19:15 -0500)]
Consistent unixy path handling in File::Find::_find_opt.

Back in a1ccf0c4149b we converted the current working directory to
Unix format on VMS, but neglected to change what later gets pasted
onto it with a hard-coded slash delimiter.  The resulting mongrel
filespec was invalid and of course would not appear to exist even
if the file did exist under a properly assembled name.

So this commit makes the use of Unix-style paths on VMS within
_find_opt consistent.

The bug was tickled by a recent change to Module::Pluggable, whose
tests and the tests of other modules that depend on it started
failing en masse.

8 years agoImplement name change in POD example; Chris Waggoner++.
jkeenan [Sat, 11 Aug 2012 00:22:13 +0000 (20:22 -0400)]
Implement name change in POD example; Chris Waggoner++.

For: RT #114314.

8 years agoRMG - update commit reference for version bump change
Steve Hay [Mon, 20 Aug 2012 16:48:47 +0000 (17:48 +0100)]
RMG - update commit reference for version bump change

Still refer to a .0 bump since it contains more than other bumps, but
update it to 5.17.0's bump rather than 5.15.0's

8 years agoBump version to 5.17.4
Steve Hay [Mon, 20 Aug 2012 16:20:23 +0000 (17:20 +0100)]
Bump version to 5.17.4

8 years agoRMG - update commit reference for new perldelta change
Steve Hay [Mon, 20 Aug 2012 16:03:22 +0000 (17:03 +0100)]
RMG - update commit reference for new perldelta change

Refer to one that doesn't mention pod.lst since that is gone now.

8 years agoMake new perldelta for 5.17.4
Steve Hay [Mon, 20 Aug 2012 15:57:26 +0000 (16:57 +0100)]
Make new perldelta for 5.17.4

8 years agoUndo VERSION bump for undone code
Steve Hay [Mon, 20 Aug 2012 15:30:52 +0000 (16:30 +0100)]
Undo VERSION bump for undone code

Commit 78ed4cf4d6 undid the accidental effect of eb578fdb55 on OS2::REXX
but forgot to revert the accompanying VERSION bump, which is not otherwise
required since nothing else has changed.

8 years agoCorrect announcement date for 5.17.2's epigraph
Steve Hay [Mon, 20 Aug 2012 15:08:37 +0000 (16:08 +0100)]
Correct announcement date for 5.17.2's epigraph

8 years agoAdd epigraph for 5.17.3
Steve Hay [Mon, 20 Aug 2012 15:07:56 +0000 (16:07 +0100)]
Add epigraph for 5.17.3

8 years agoMerge branch 'release-5.17.3' into blead
Steve Hay [Mon, 20 Aug 2012 14:31:24 +0000 (15:31 +0100)]
Merge branch 'release-5.17.3' into blead

8 years agoAdd the new smoke report test site
H.Merijn Brand [Mon, 20 Aug 2012 13:25:02 +0000 (15:25 +0200)]
Add the new smoke report test site

Better late than never!

8 years agoFix Module::CoreList test - TieHashDelta is to be expected too now v5.17.3
Steve Hay [Mon, 20 Aug 2012 11:09:23 +0000 (12:09 +0100)]
Fix Module::CoreList test - TieHashDelta is to be expected too now

8 years agoAdd 5.17.3 to perlhist
Steve Hay [Mon, 20 Aug 2012 10:36:53 +0000 (11:36 +0100)]
Add 5.17.3 to perlhist

8 years agoUpgrade Module-CoreList to 2.71
Steve Hay [Mon, 20 Aug 2012 10:34:32 +0000 (11:34 +0100)]
Upgrade Module-CoreList to 2.71

8 years agofix accidentally modified comment
Jesse Luehrs [Mon, 20 Aug 2012 10:18:00 +0000 (05:18 -0500)]
fix accidentally modified comment

8 years agoperldelta - finalize with acknowledgements for 5.17.3
Steve Hay [Mon, 20 Aug 2012 10:12:03 +0000 (11:12 +0100)]
perldelta - finalize with acknowledgements for 5.17.3

8 years agoperldelta - Fix unescaped <>
Steve Hay [Mon, 20 Aug 2012 10:08:48 +0000 (11:08 +0100)]
perldelta - Fix unescaped <>

8 years agoUpdate RMG - note sync-with-cpan is untested on Windows
Steve Hay [Mon, 20 Aug 2012 09:21:35 +0000 (10:21 +0100)]
Update RMG - note sync-with-cpan is untested on Windows

8 years agoperldelta - Remove XXX sections ready for 5.17.3 release
Steve Hay [Mon, 20 Aug 2012 08:32:19 +0000 (09:32 +0100)]
perldelta - Remove XXX sections ready for 5.17.3 release

8 years agoUpgrade to Sys-Syslog-0.31
Steve Hay [Sun, 19 Aug 2012 11:53:47 +0000 (12:53 +0100)]
Upgrade to Sys-Syslog-0.31

8 years agoCorrections to and perldelta.pod for Text-Tabs+Wrap
Steve Hay [Sun, 19 Aug 2012 11:27:06 +0000 (12:27 +0100)]
Corrections to and perldelta.pod for Text-Tabs+Wrap

8 years agoUpgrade to Text-Tabs+Wrap-2012.0818
Steve Hay [Sun, 19 Aug 2012 10:51:52 +0000 (11:51 +0100)]
Upgrade to Text-Tabs+Wrap-2012.0818

This incorporates earlier blead customizations to t/fill.t and t/tabs.t

8 years agoUpgrade Module-Metadata to 1.000011
Steve Hay [Sun, 19 Aug 2012 10:31:51 +0000 (11:31 +0100)]
Upgrade Module-Metadata to 1.000011

8 years agoUpgrade Module-Build to 0.4003
Steve Hay [Sun, 19 Aug 2012 10:24:53 +0000 (11:24 +0100)]
Upgrade Module-Build to 0.4003

8 years agoOmnibus removal of register declarations
Karl Williamson [Thu, 16 Aug 2012 16:50:14 +0000 (10:50 -0600)]
Omnibus removal of register declarations

This removes most register declarations in C code (and accompanying
documentation) in the Perl core.  Retained are those in the ext
directory, Configure, and those that are associated with assembly


which says, in part:

There is no good example of register usage when using modern compilers
(read: last 10+ years) because it almost never does any good and can do
some bad. When you use register, you are telling the compiler "I know
how to optimize my code better than you do" which is almost never the
case. One of three things can happen when you use register:

    The compiler ignores it, this is most likely. In this case the only
        harm is that you cannot take the address of the variable in the
    The compiler honors your request and as a result the code runs slower.
    The compiler honors your request and the code runs faster, this is the least likely scenario.

Even if one compiler produces better code when you use register, there
is no reason to believe another will do the same. If you have some
critical code that the compiler is not optimizing well enough your best
bet is probably to use assembler for that part anyway but of course do
the appropriate profiling to verify the generated code is really a
problem first.

8 years agoTweaks to RMG
Steve Hay [Sat, 18 Aug 2012 13:10:03 +0000 (14:10 +0100)]
Tweaks to RMG

Use the simpler syntax for starting the CPAN shell. Remove notes about
needing Unix tools on Windows for CPAN and CPANPLUS when LWP is not
installed: these are not required since the likes of Net::FTP and
HTTP::Tiny are used instead.

8 years agoDon't use /dev/tty if it happens to exist on Windows
Steve Hay [Sat, 18 Aug 2012 11:28:32 +0000 (12:28 +0100)]
Don't use /dev/tty if it happens to exist on Windows

This fixes CPAN RT#79001 and CPAN RT#79064.

8 years agoWe don't support compilers other than MS VC++ and MinGW/gcc on Windows
Steve Hay [Sat, 18 Aug 2012 09:39:56 +0000 (10:39 +0100)]
We don't support compilers other than MS VC++ and MinGW/gcc on Windows

8 years agoRemove two unused #defines
Steve Hay [Sat, 18 Aug 2012 09:36:12 +0000 (10:36 +0100)]
Remove two unused #defines

8 years agoWe don't support MS VC++ < 6.0
Steve Hay [Sat, 18 Aug 2012 09:33:13 +0000 (10:33 +0100)]
We don't support MS VC++ < 6.0

8 years agoparser.t: Correct test count
Father Chrysostomos [Sat, 18 Aug 2012 06:20:53 +0000 (23:20 -0700)]
parser.t: Correct test count

Why do I keep making these mistakes? :-(

8 years agosv.h: Don’t repeat _XPV_HEAD
Father Chrysostomos [Fri, 17 Aug 2012 23:52:50 +0000 (16:52 -0700)]
sv.h: Don’t repeat _XPV_HEAD

8 years agowrite.t: Eek! debugging code
Father Chrysostomos [Fri, 17 Aug 2012 23:54:40 +0000 (16:54 -0700)]
write.t: Eek! debugging code

8 years agoperldelta entries
Father Chrysostomos [Fri, 17 Aug 2012 23:44:57 +0000 (16:44 -0700)]
perldelta entries

8 years ago[perl #114040] Allow pod in quoted constructs
Father Chrysostomos [Fri, 17 Aug 2012 21:45:29 +0000 (14:45 -0700)]
[perl #114040] Allow pod in quoted constructs

When the case = in toke.c:yylex is reached and PL_lex_state is
not LEX_NORMAL, that means we are in some sort of quoted construct,
and the entire construct’s content is in the current line buffer
(which, consequently contains more than one line).  So we need to check
that when encountering pod.  Quoted constructs need to be treated the
same way as string eval, which also puts all the code in the line

8 years agoDon’t leak formats defined inside subs
Father Chrysostomos [Fri, 17 Aug 2012 21:24:05 +0000 (14:24 -0700)]
Don’t leak formats defined inside subs

I made them leak inadvertently in 5.17.2 with commit e09ac076a1da.

This was unfortunately backported to 5.16.1 (as 3149499832) without
anybody noticing the bug.

8 years agopad.c: Document pad_add_anon’s refcounting
Father Chrysostomos [Fri, 17 Aug 2012 20:39:27 +0000 (13:39 -0700)]
pad.c: Document pad_add_anon’s refcounting

8 years agoperldelta: Clarify note about B::PADLIST
Father Chrysostomos [Fri, 17 Aug 2012 20:28:46 +0000 (13:28 -0700)]
perldelta: Clarify note about B::PADLIST

8 years agopp_ctl.c:pp_dbstate: Don’t adjust CvDEPTH for XSUBs
Father Chrysostomos [Fri, 17 Aug 2012 06:44:11 +0000 (23:44 -0700)]
pp_ctl.c:pp_dbstate: Don’t adjust CvDEPTH for XSUBs

Commit c127bd3aaa5c5 made XS DB::DB subs work.  Before that,
pp_dbstate assumed DB::DB was written it perl.  It adjusts CvDEPTH
when calling the XSUB, which serves no purpose.  It was presumably
just copied from the pure-Perl-calling code.  pp_entersub does-
n’t do this.

8 years agoRestore VC++ 6 build on Windows
Steve Hay [Fri, 17 Aug 2012 23:33:53 +0000 (00:33 +0100)]
Restore VC++ 6 build on Windows

Commits bb02a38feb and 1bd3586145 resulted in VC++ 6 complaining "error
C2099: initializer is not a constant" when initializing bodies_by_type in
sv.c. Workaround the apparent compiler bug using a patch from Jan Dubois,
amended to be compiler-specific as suggested by Nicholas Clark since
anonymous unions are not valid C89.

Date: Wed, 15 Aug 2012 00:55:06 -0700
Message-ID: <005a01cd7abb$498294e0$dc87bea0$>

8 years agoUpgrade to B::Debug 1.18
Steve Hay [Fri, 17 Aug 2012 17:41:02 +0000 (18:41 +0100)]
Upgrade to B::Debug 1.18

8 years agonewCONSTSUB needs its own CV.
Craig A. Berry [Fri, 17 Aug 2012 16:05:14 +0000 (11:05 -0500)]
newCONSTSUB needs its own CV.

It had been using one called simply C<cv> but that name is already
taken in the (opaque) argument list generated by the XS_EUPXS
wrapper around the function name.  And that cv is actually used
by boilerplate code generated from PPCODE, but only when there is
an ALIAS section present, which there wasn't before c0810f8ef84,
but now is.

So declare and use our own CV and leave the one passed in alone.

8 years agoRemove the UTS port.
Nicholas Clark [Tue, 14 Aug 2012 09:54:48 +0000 (11:54 +0200)]
Remove the UTS port.

UTS was a mainframe version of System V created by Amdahl, subsequently sold
to UTS Global. The port has not been touched since before 5.8.0, and UTS
Global is now defunct.

8 years agoperldelta - Add remaining changes not yet documented
Steve Hay [Fri, 17 Aug 2012 08:20:50 +0000 (09:20 +0100)]
perldelta - Add remaining changes not yet documented

Also some other general tidying and wrapping.

8 years agoCGI's t/url.t is no longer customized
Steve Hay [Thu, 16 Aug 2012 13:36:32 +0000 (14:36 +0100)]
CGI's t/url.t is no longer customized

The upgrade to 3.60 contained the changes which were in blead.

8 years agoperldelta - Fix mistakes
Steve Hay [Thu, 16 Aug 2012 08:25:35 +0000 (09:25 +0100)]
perldelta - Fix mistakes

8 years agoperldelta - Document Windows-specific changes
Steve Hay [Thu, 16 Aug 2012 08:11:00 +0000 (09:11 +0100)]
perldelta - Document Windows-specific changes

8 years agoUpgrade to CGI 3.60
Steve Hay [Thu, 16 Aug 2012 07:30:57 +0000 (08:30 +0100)]
Upgrade to CGI 3.60

There were already no t/lib/Test or cgi-lib_porting.html files, so these
can be removed from EXCLUDED.

8 years agoperldelta for a444d2d4f37/#114368
Father Chrysostomos [Thu, 16 Aug 2012 03:34:04 +0000 (20:34 -0700)]
perldelta for a444d2d4f37/#114368

8 years agoperldelta for fc33dad25ea/#114020
Father Chrysostomos [Thu, 16 Aug 2012 03:32:50 +0000 (20:32 -0700)]
perldelta for fc33dad25ea/#114020

This was not the main topic of #114020, but all the discussion
surrounding the change is in that ticket.

8 years agoperldelta: Tweak wording
Father Chrysostomos [Thu, 16 Aug 2012 03:30:47 +0000 (20:30 -0700)]
perldelta: Tweak wording

I don’t know what (or whether) I was thinking when I wrote that.

8 years agoperldelta: missing bug number
Father Chrysostomos [Thu, 16 Aug 2012 03:29:15 +0000 (20:29 -0700)]
perldelta: missing bug number

8 years agoperldelta: more format stuff
Father Chrysostomos [Thu, 16 Aug 2012 03:27:55 +0000 (20:27 -0700)]
perldelta: more format stuff

8 years agoUpgrade Module-Pluggable to 4.3
Steve Hay [Wed, 15 Aug 2012 23:31:32 +0000 (00:31 +0100)]
Upgrade Module-Pluggable to 4.3

There is also no need to list Build.PL as EXCLUDED since it is IGNORABLE

8 years agoUpgrade perlfaq to 5.0150041
Steve Hay [Wed, 15 Aug 2012 23:12:09 +0000 (00:12 +0100)]
Upgrade perlfaq to 5.0150041

8 years agoUpgrade Socket to 2.004
Steve Hay [Wed, 15 Aug 2012 22:59:29 +0000 (23:59 +0100)]
Upgrade Socket to 2.004

8 years agoUpgrade Socket from 2.002 to 2.003
Steve Hay [Wed, 15 Aug 2012 16:56:13 +0000 (17:56 +0100)]
Upgrade Socket from 2.002 to 2.003

8 years agoperldelta - Wrap to 79 columns
Steve Hay [Wed, 15 Aug 2012 16:54:23 +0000 (17:54 +0100)]
perldelta - Wrap to 79 columns

8 years agoperldelta - Document Module::Pluggable changes
Steve Hay [Wed, 15 Aug 2012 16:52:43 +0000 (17:52 +0100)]
perldelta - Document Module::Pluggable changes

8 years agoTweak the test from 35f7559499c4a614 to work with PERL_UNICODE set.
Nicholas Clark [Tue, 14 Aug 2012 10:22:45 +0000 (12:22 +0200)]
Tweak the test from 35f7559499c4a614 to work with PERL_UNICODE set.

8 years agoperldelta
Steve Hay [Wed, 15 Aug 2012 13:51:09 +0000 (14:51 +0100)]

Remove duplicate note about B::Concise, fix a typo and note that
Module-Pluggable is now upgraded.

8 years agoUpgrade to Module-Pluggable 4.2
Steve Hay [Wed, 15 Aug 2012 13:04:18 +0000 (14:04 +0100)]
Upgrade to Module-Pluggable 4.2

The core build process cannot use Build.PL since Module::Build and/or its
prerequisites may not have been built yet, so EXCLUDE that and retain our
(already CUSTOMIZED) Makefile.PL instead for now.

8 years agoAdd new Win32 test script to MANIFEST
Steve Hay [Wed, 15 Aug 2012 08:23:07 +0000 (09:23 +0100)]
Add new Win32 test script to MANIFEST

The file was added by c3c06741ad.

8 years agoFix t/op/magic.t on Windows
Steve Hay [Wed, 15 Aug 2012 08:02:12 +0000 (09:02 +0100)]
Fix t/op/magic.t on Windows

These tests have been failing since they were added by 613c63b465, but
we can now fix them using new Win32 APIs.

8 years agoperldelta - note changes in Win32 0.45
Steve Hay [Wed, 15 Aug 2012 07:56:50 +0000 (08:56 +0100)]
perldelta - note changes in Win32 0.45

8 years agoperldelta - note changes in Encode 2.47
Steve Hay [Wed, 15 Aug 2012 07:52:27 +0000 (08:52 +0100)]
perldelta - note changes in Encode 2.47

8 years agoUpgrade to Sys-Syslog 0.30
Steve Hay [Wed, 15 Aug 2012 07:25:20 +0000 (08:25 +0100)]
Upgrade to Sys-Syslog 0.30

This now incorporates blead's customization of t/syslog.t. Also,
win32/PerlLog_RES.uu shouldn't be listed as EXCLUDED since it is
actually included!

8 years agoUpdate to Win32-0.45 from CPAN
Jan Dubois [Tue, 14 Aug 2012 23:34:32 +0000 (16:34 -0700)]
Update to Win32-0.45 from CPAN

8 years agoUpdate Encode to CPAN version 2.47
Chris 'BinGOs' Williams [Wed, 15 Aug 2012 06:47:38 +0000 (07:47 +0100)]
Update Encode to CPAN version 2.47


  $Revision: 2.47 $ $Date: 2012/08/15 05:36:16 $
    POD Fixes: Copyright and mail address
  ! Makefile.PL
    Added LICENSE => 'perl'
  ! lib/Encode/ t/gsm0338.t
    REALLY fixed RT#75670: Wrong decoding for GSM 3.38 character \x09
    ucm/gsm0338.ucm is dropped from MANIFEST since 2.25
    but I was fixing the wrong file!

8 years agoAdd Joaquin Ferrero to AUTHORS
Father Chrysostomos [Wed, 15 Aug 2012 01:13:36 +0000 (18:13 -0700)]
Add Joaquin Ferrero to AUTHORS

8 years agoperlvar.pod, line 1337, bad filehandle
Joaquin Ferrero [Wed, 15 Aug 2012 01:12:54 +0000 (18:12 -0700)]
perlvar.pod, line 1337, bad filehandle

8 years agoperldelta for 7ef30830/#114018
Father Chrysostomos [Tue, 14 Aug 2012 21:40:38 +0000 (14:40 -0700)]
perldelta for 7ef30830/#114018

8 years agoperldelta for 35f7559499, B::Concise dumping formats
Father Chrysostomos [Tue, 14 Aug 2012 21:39:15 +0000 (14:39 -0700)]
perldelta for 35f7559499, B::Concise dumping formats

8 years agoperldelta for 2c658e55b, no formats after comp errors
Father Chrysostomos [Tue, 14 Aug 2012 21:32:42 +0000 (14:32 -0700)]
perldelta for 2c658e55b, no formats after comp errors

8 years agoperldelta for format parsing fixes
Father Chrysostomos [Tue, 14 Aug 2012 21:29:10 +0000 (14:29 -0700)]
perldelta for format parsing fixes

8 years agoperldelta for ee23553f1b7 & c782dc1db597
Father Chrysostomos [Tue, 14 Aug 2012 21:23:32 +0000 (14:23 -0700)]
perldelta for ee23553f1b7 & c782dc1db597

8 years agoperldelta for f32c7e864b6: recursive formats
Father Chrysostomos [Tue, 14 Aug 2012 21:22:15 +0000 (14:22 -0700)]
perldelta for f32c7e864b6: recursive formats

8 years agoperldelta for 9a71543479/#78550
Father Chrysostomos [Tue, 14 Aug 2012 21:20:12 +0000 (14:20 -0700)]
perldelta for 9a71543479/#78550

8 years agoperldelta for cae5dbbe30b
Father Chrysostomos [Tue, 14 Aug 2012 21:19:00 +0000 (14:19 -0700)]
perldelta for cae5dbbe30b

8 years agoperldelta for 3207fc6be29
Father Chrysostomos [Tue, 14 Aug 2012 21:16:56 +0000 (14:16 -0700)]
perldelta for 3207fc6be29

8 years agoperldelta for #114222: use constant {()}
Father Chrysostomos [Tue, 14 Aug 2012 21:15:46 +0000 (14:15 -0700)]
perldelta for #114222: use constant {()}

8 years agoTest initial tick in sub declaration
Father Chrysostomos [Wed, 4 Jul 2012 13:23:16 +0000 (06:23 -0700)]
Test initial tick in sub declaration

8 years agoAllow test_bootstrap.t to run from the top level
Father Chrysostomos [Mon, 2 Jul 2012 06:05:21 +0000 (23:05 -0700)]
Allow test_bootstrap.t to run from the top level

8 years agopad.c apidocs: Missing fullstop
Father Chrysostomos [Mon, 2 Jul 2012 03:23:06 +0000 (20:23 -0700)]
pad.c apidocs: Missing fullstop

8 years agofix a comment: this tests perl #91852 not 91850
Tony Cook [Wed, 15 Aug 2012 00:34:32 +0000 (10:34 +1000)]
fix a comment: this tests perl #91852 not 91850

noted by mauke (James Rustle) in #p5p

8 years agoUpgrade to Pod-Simple 3.23
Steve Hay [Tue, 14 Aug 2012 22:48:38 +0000 (23:48 +0100)]
Upgrade to Pod-Simple 3.23

8 years agoMissed other typo in README.cygwin
Chris 'BinGOs' Williams [Tue, 14 Aug 2012 22:08:09 +0000 (23:08 +0100)]
Missed other typo in README.cygwin

Yes, it was on the same line as the other one.

Eagle-eyed Jerry Hedden spotted that one.

8 years agoUpdate perldelta to describe changes in all module upgrades so far
Steve Hay [Tue, 14 Aug 2012 21:54:21 +0000 (22:54 +0100)]
Update perldelta to describe changes in all module upgrades so far

8 years agoCorrect a typo in README.cygwin
Chris 'BinGOs' Williams [Tue, 14 Aug 2012 19:27:10 +0000 (20:27 +0100)]
Correct a typo in README.cygwin

Also changed the current version of Cygwin to 1.7.16 and changed
a 'disencouraged' to 'discouraged'. There were both uses in the
document this at least makes the use consistent.

8 years agoDocument new diagnostic message added by d903973c05
Steve Hay [Tue, 14 Aug 2012 16:38:22 +0000 (17:38 +0100)]
Document new diagnostic message added by d903973c05

8 years agoTidy up comments and formatting in d903973c05
Steve Hay [Tue, 14 Aug 2012 16:33:50 +0000 (17:33 +0100)]
Tidy up comments and formatting in d903973c05

8 years agofix RT#88840, don't terminate a child fork psuedo process in DLL Loader Lock
Daniel Dragan [Tue, 14 Aug 2012 12:50:25 +0000 (13:50 +0100)]
fix RT#88840, don't terminate a child fork psuedo process in DLL Loader Lock

TerminateThread will terminate a thread but leaks all resources
of that thread, and all locks will never be released, as documented in MSDN.
There is no alternative to locks not being released that I see, but atleast
-e "if ($pid=fork){kill(9,$pid)} else {sleep 5}"
in fork.t won't deadlock with this patch since win32_start_child be reached before
TerminateThread happens. The 5 ms timeout can be increased if problems
arise in the future. The HWND of the child is delivered by win32_start_child
very early, before any perl bytecode is executed, therefore the delay is
keeping in spirit with a kill 9. In any case, if the child thread fails
to schedule, (a DllMain in DLL_THREAD_ATTACH of some DLL in the process
deadlocks or does very long (over 5 ms right now) sync IO), the parent interp
will bail out.

8 years agoDocument that newCONSTSUB{,_flags} takes ownership of a reference to the SV.
Nicholas Clark [Mon, 13 Aug 2012 14:11:35 +0000 (16:11 +0200)]
Document that newCONSTSUB{,_flags} takes ownership of a reference to the SV.

Also note the collusion between op_const_cv() and cv_clone(), whereby the
former returns a fresh copy of the SV to the latter, which is then immediately
passed to newCONSTSUB.

8 years agoXS::APItest::newCONSTSUB was not handling SV reference counts correctly.
Nicholas Clark [Mon, 13 Aug 2012 13:11:41 +0000 (15:11 +0200)]
XS::APItest::newCONSTSUB was not handling SV reference counts correctly.

newCONSTSUB() and newCONSTSUB_flags() take ownership of (one reference to)
the passed-in SV. As the XS wrapper is passing in a SV taken from the stack,
it needs to up the reference count by one in order to avoid later bugs.