This is a live mirror of the Perl 5 development currently hosted at
11 years agoAdd $Packprefix to $self.
James E. Keenan [Sun, 28 Mar 2010 17:02:34 +0000 (13:02 -0400)]
Add $Packprefix to $self.

11 years agoMove $ret_type into $self.
James E. Keenan [Sun, 28 Mar 2010 02:40:53 +0000 (22:40 -0400)]
Move $ret_type into $self.

$pname posed interpolation problems.

11 years agoMore globals in $self
James E. Keenan [Sun, 28 Mar 2010 02:28:11 +0000 (22:28 -0400)]
More globals in $self

Move $Prefix, $processing_arg_with_types, $proto_in_this_xsub,
$scope_in_this_xsub, $interface, $interface_macro,
$interface_macro_set, $ProtoThisXSUB, $ScopeThisXSUB into $self.

11 years agoMove more globals into the global $self
James E. Keenan [Sat, 27 Mar 2010 22:22:13 +0000 (18:22 -0400)]
Move more globals into the global $self

Move $proto_re, $Overload, $errors, $Fallback, $hiertype,
$WantPrototypes, $WantVersionChk, $WantLineNumbers,
$filepathname, $dir, $filename, $BLOCK_re, $lastline, $lastline_no
into $self. $proto_re not used within, so remove it.
$FH did not play well with $self inside angle-bracket operator
(while loop). $Package could not be transformed either, probably
due to problems in its usage as ${Package} inside HEREdocs.

11 years agoDeclare global instance as a stepping stone to an OO ExtUtils::ParseXS
James E. Keenan [Sat, 27 Mar 2010 16:47:16 +0000 (12:47 -0400)]
Declare global instance as a stepping stone to an OO ExtUtils::ParseXS

Declare 'our' variable $self and move the first package global ($ProtoUsed) into it.

11 years agoMore and better tests
James E. Keenan [Sun, 6 Feb 2011 14:39:06 +0000 (15:39 +0100)]
More and better tests

Provide messages for some tests in 001-basic.t.  Add file
t/004-nolinenumbers.t to test case where line numbers are not

11 years agoEliminate sub ProtoString(), which was used in only one location.
James E. Keenan [Sat, 27 Mar 2010 02:44:35 +0000 (22:44 -0400)]
Eliminate sub ProtoString(), which was used in only one location.

11 years agoMove list of XS keywords to
James E. Keenan [Sat, 27 Mar 2010 02:24:15 +0000 (22:24 -0400)]
Move list of XS keywords to

11 years agoRemove the wistful comment about "use strict -- one of these days ..."
James E. Keenan [Sat, 27 Mar 2010 02:07:21 +0000 (22:07 -0400)]
Remove the wistful comment about "use strict -- one of these days ..."

That day has come!

11 years agoChange name of sub errors() to sub report_error_count()
James E. Keenan [Sat, 27 Mar 2010 02:05:49 +0000 (22:05 -0400)]
Change name of sub errors() to sub report_error_count()

... to distinguish it better from 'our' variable $errors.
Adjust t/002-more.t and lib/ExtUtils/xsubpp accordingly.

11 years agoIndentation fix
James E. Keenan [Sat, 27 Mar 2010 01:24:07 +0000 (21:24 -0400)]
Indentation fix

11 years agoChange arguments to output_init() to single hashref
James E. Keenan [Sat, 27 Mar 2010 00:57:51 +0000 (20:57 -0400)]
Change arguments to output_init() to single hashref

Also move definitions of some utility subs to end of file.

Since we don't yet have a way around the 'eval EXPR' problem.  We'll have to
de-reference that hashref once inside the sub.

11 years agoChange arguments to generate_init() to single hashref.
James E. Keenan [Fri, 26 Mar 2010 23:24:29 +0000 (19:24 -0400)]
Change arguments to generate_init() to single hashref.

Since we don't yet have a way around the 'eval EXPR' problem.  We'll have to
de-reference that hashref once inside the sub.

11 years agoInline comment about difficulties which 'eval qq()' will pose
James E. Keenan [Sun, 21 Mar 2010 14:52:31 +0000 (10:52 -0400)]
Inline comment about difficulties which 'eval qq()' will pose

11 years agoTypographical cleanup only.
James E. Keenan [Sun, 21 Mar 2010 14:04:56 +0000 (10:04 -0400)]
Typographical cleanup only.

11 years agoImprove test coverage, extract function for better testing
James E. Keenan [Sun, 6 Feb 2011 11:07:15 +0000 (12:07 +0100)]
Improve test coverage, extract function for better testing

Add files to test EU::PXS::Utilities::map_type(), valid_proto_string(),
process_typemaps().  Extract code for processing a single typemap file
into its own sub, thereby permitting more focused testing.  Eliminate some
unreachable branches and conditions in process_typemaps().

On the basis of coverage analysis, eliminate unreachable code.
Reformat some code for readability (shorter line length).

11 years agoExplicitly pass $hiertype to map_type()
James E. Keenan [Sat, 20 Mar 2010 18:20:29 +0000 (14:20 -0400)]
Explicitly pass $hiertype to map_type()

Also adjust all (3) calls to map_type() to suit. We can do this
because $hiertype is read, but not written to, within map_type().
map_type() is now fully encapsulated and can be extracted from the
main package and placed in EU::PXS::Utilities.

11 years agoEliminate last 'local' variables.
James E. Keenan [Sat, 20 Mar 2010 17:30:08 +0000 (13:30 -0400)]
Eliminate last 'local' variables.

In two cases, guarantee that generate_init() is explicitly passed
all 4 arguments. With this commit, ExtUtils::ParseXS for the first
time ever runs completely under 'use strict;'.

11 years agoMore variable scope fixes
James E. Keenan [Sat, 20 Mar 2010 15:48:41 +0000 (11:48 -0400)]
More variable scope fixes

Eliminate last instances of $name. Eliminate the debugging
messages I was using to detect $name and its effects. Begin to
replace the 'local' variables in 3 subroutines, as these are
the final remaining obstacles to use strict.

11 years agoRefine debugging messages to only identify CRITICAL messages.
James E. Keenan [Sat, 20 Mar 2010 11:49:30 +0000 (07:49 -0400)]
Refine debugging messages to only identify CRITICAL messages.

11 years agoSTDERR debugging messages around the last suspected '' global variables.
James E. Keenan [Fri, 19 Mar 2010 12:15:32 +0000 (08:15 -0400)]
STDERR debugging messages around the last suspected '' global variables.

11 years agoRename $name_printed to $printed_name
James E. Keenan [Mon, 15 Mar 2010 23:38:27 +0000 (19:38 -0400)]
Rename $name_printed to $printed_name

... so that it's better distinguished from instances of $name.

11 years agoRename two more instances of '$name'.
James E. Keenan [Mon, 15 Mar 2010 23:35:34 +0000 (19:35 -0400)]
Rename two more instances of '$name'.

11 years agoReclassify approx 7 variables as either 'our' or 'my'.
James E. Keenan [Mon, 15 Mar 2010 23:07:30 +0000 (19:07 -0400)]
Reclassify approx 7 variables as either 'our' or 'my'.

Thanks to dagolden for diagnosis of problem with 'our' variables.

11 years agoAdd a little POD
James E. Keenan [Mon, 15 Mar 2010 01:55:03 +0000 (21:55 -0400)]
Add a little POD

11 years agoMore variable renaming and comments
James E. Keenan [Mon, 15 Mar 2010 01:36:33 +0000 (21:36 -0400)]
More variable renaming and comments

1. Rename another instance of $name to $iface_name to further reduce
2. Write inline comments at two locations where $name appears to be
previously undeclared global.
3. Correct some indentation.

11 years agoMore variable and code shuffling to improve maintainability
James E. Keenan [Mon, 15 Mar 2010 01:27:27 +0000 (21:27 -0400)]
More variable and code shuffling to improve maintainability

1. Move creation of read filehandle closer to its first point of use.

2. Move code for population of %targetable into subroutine and place that sub,
make_targetable, in EU::PXS::Utilities (for the time being).

3. Rename one instance of $name to $len_name to (start to) reduce confusion.

Note: Munged by Steffen to fix problem with order of chdir() and open()

11 years agoMove code handling processing of typemap files to
James E. Keenan [Sun, 14 Mar 2010 15:50:06 +0000 (11:50 -0400)]
Move code handling processing of typemap files to

11 years agoChange $ALIAS from 'my' to 'our'
James E. Keenan [Sun, 14 Mar 2010 14:39:48 +0000 (10:39 -0400)]
Change $ALIAS from 'my' to 'our'

This is not because I think it really should be changed but because
declaring it as 'my' produces change in resulting C code -- albeit
probably a desirable change. Include summary of debugging as inline

11 years agoChange ValidProtoString() to valid_proto_string()
James E. Keenan [Sun, 6 Feb 2011 10:53:59 +0000 (11:53 +0100)]
Change ValidProtoString() to valid_proto_string()

and move its definition to

11 years agoRevise some of the placements into EU::PXS::Constants.
James E. Keenan [Sun, 14 Mar 2010 04:13:50 +0000 (23:13 -0500)]
Revise some of the placements into EU::PXS::Constants.

11 years agoShuffle more functions and variables around
James E. Keenan [Sun, 14 Mar 2010 03:02:23 +0000 (22:02 -0500)]
Shuffle more functions and variables around

Move sub C_string() to Eliminate some 'my' variables
inside process_file() that can be handled equally well by %args elements.

11 years agoMove EU::ParseXS::CountLines to its own file to simplify editing
James E. Keenan [Sun, 6 Feb 2011 10:49:34 +0000 (11:49 +0100)]
Move EU::ParseXS::CountLines to its own file to simplify editing

11 years agoImplement use strict 'subs' and 'refs'
James E. Keenan [Sat, 13 Mar 2010 17:41:29 +0000 (12:41 -0500)]
Implement use strict 'subs' and 'refs'

With two understandable exceptions for use strict 'refs'.

11 years agoCorrect ambiguous regex capture syntax.
James E. Keenan [Sat, 13 Mar 2010 15:31:15 +0000 (10:31 -0500)]
Correct ambiguous regex capture syntax.

11 years agoTighten scope of more variables
James E. Keenan [Sat, 13 Mar 2010 14:24:51 +0000 (09:24 -0500)]
Tighten scope of more variables

Move $pname from global to 'our'. Move $clean_func_name from global
to 'my'. Declare our $bal in separate statement.

11 years agoMove about 9 global variables into 'our' status.
James E. Keenan [Sat, 13 Mar 2010 04:40:45 +0000 (23:40 -0500)]
Move about 9 global variables into 'our' status.

11 years agoLexicalize more variables
James E. Keenan [Sat, 13 Mar 2010 03:41:02 +0000 (22:41 -0500)]
Lexicalize more variables

Move 6 more variables out of 'our' status and into 'my' status
inside process_file().

11 years agoContinue renaming confusing variables
James E. Keenan [Sat, 13 Mar 2010 03:20:07 +0000 (22:20 -0500)]
Continue renaming confusing variables

Remove an unused variable called $line_no (which should reduce
confusion with @line_no). Rename another $line_no within
Warn() to $warn_line_number. %targetable becomes 'my' variable
inside subroutine.

11 years agoEU::ParseXS Version bump
James E. Keenan [Sat, 13 Mar 2010 03:00:57 +0000 (22:00 -0500)]
EU::ParseXS Version bump

Also nuke one more unused variable and fix a typo.

11 years agoStart to remove unused variables
James E. Keenan [Sat, 13 Mar 2010 02:40:26 +0000 (21:40 -0500)]
Start to remove unused variables

Also identify 'our' variables which are used only within the scope of
process_file() and which therefore can be changed into 'my' variables.

11 years agoMove TidyType() to Utilities::tidy_type()
James E. Keenan [Sun, 6 Feb 2011 10:38:11 +0000 (11:38 +0100)]
Move TidyType() to Utilities::tidy_type()

Create test file for it.

11 years agoChange TrimWhitespace() to trim_whitespace()
James E. Keenan [Sun, 6 Feb 2011 10:34:31 +0000 (11:34 +0100)]
Change TrimWhitespace() to trim_whitespace()

and place it in ParseXS::Utilities.  Write a file to test it.

11 years agoMove POD for internal sub from ParseXS.pod to
Steffen Mueller [Sun, 6 Feb 2011 10:31:06 +0000 (11:31 +0100)]
Move POD for internal sub from ParseXS.pod to

Create file to test standard_typemap_locations().

11 years agoSeparate POD file and ExtUtils::ParseXS::Utilities
Steffen Mueller [Sun, 6 Feb 2011 10:19:58 +0000 (11:19 +0100)]
Separate POD file and ExtUtils::ParseXS::Utilities

Create separate file to hold POD and introduce
ExtUtils::ParseXS::Utilities to hold non-object-oriented functions
refactored out of ExtUtils::ParseXS; first instance:

11 years agoContinue tidying up the code, range lines 1000-end
James E. Keenan [Fri, 12 Mar 2010 02:54:57 +0000 (21:54 -0500)]
Continue tidying up the code, range lines 1000-end

Uncuddle all '} elsif' and '} else' statements.
Switch to 'use Exporter' rather than 'require' (for consistency).

11 years agoChange from 'use vars' to 'our', which was introduced in Perl 5.6.0.
James E. Keenan [Fri, 12 Mar 2010 02:13:10 +0000 (21:13 -0500)]
Change from 'use vars' to 'our', which was introduced in Perl 5.6.0.

11 years agoBegin to uncuddle 'elsif' and 'else'. Rationalize indentation. Completed thru line...
James E. Keenan [Wed, 10 Mar 2010 03:49:17 +0000 (22:49 -0500)]
Begin to uncuddle 'elsif' and 'else'. Rationalize indentation. Completed thru line 1000.

11 years agoEliminate whitespace before final semicolon.
James E. Keenan [Wed, 10 Mar 2010 03:21:07 +0000 (22:21 -0500)]
Eliminate whitespace before final semicolon.

11 years agoChange all hard tabs to 4-spaces. Eliminate trailing whitespace.
James E. Keenan [Wed, 10 Mar 2010 03:16:18 +0000 (22:16 -0500)]
Change all hard tabs to 4-spaces. Eliminate trailing whitespace.

11 years agoRename EU::PXS test files to include digits
Steffen Mueller [Sun, 6 Feb 2011 10:09:01 +0000 (11:09 +0100)]
Rename EU::PXS test files to include digits

11 years agoRevert "Moved prototype check to XS code, allowing the .pm file change from yesterday"
Steffen Mueller [Sun, 6 Feb 2011 16:57:21 +0000 (17:57 +0100)]
Revert "Moved prototype check to XS code, allowing the .pm file change from yesterday"

This reverts commit d16d4b10300b35e2d4d858a3e23cff975bc713fe. It
requires the _ prototype support in ExtUtils::ParseXS and we need to
temporarily disable that. Will be reapplied later.

11 years agoRevert EU::ParseXS part of 1e8125c621275d18c74bc8dae3bfc3c03929fe1e
Steffen Mueller [Sun, 6 Feb 2011 10:05:22 +0000 (11:05 +0100)]
Revert EU::ParseXS part of 1e8125c621275d18c74bc8dae3bfc3c03929fe1e

This is in order to be able to apply Jim Keenan's work on
ExtUtils::ParseXS. This change will be reapplied later.

11 years agoRevert the EU::ParseXS part of c4a6f826b3676d1fdbd9972a9d0a8f11c02d003d
Steffen Mueller [Sun, 6 Feb 2011 09:59:58 +0000 (10:59 +0100)]
Revert the EU::ParseXS part of c4a6f826b3676d1fdbd9972a9d0a8f11c02d003d

This is in order to apply Jim Keenan's work to EU::PXS. It is planned to
re-apply this change later.

11 years agoRevert EU::ParseXS part of c33e8be1506a75e393304af89d64e3f46e0ca7cb
Steffen Mueller [Sat, 5 Feb 2011 16:06:29 +0000 (17:06 +0100)]
Revert EU::ParseXS part of c33e8be1506a75e393304af89d64e3f46e0ca7cb

This is necessary in order to apply Jim Keenan's work on
ExtUtils::ParseXS. The plan is to reapply this change later.

... also bump version.

11 years agoAdd an email alias for James Keenan
Steffen Mueller [Sun, 6 Feb 2011 17:36:14 +0000 (18:36 +0100)]
Add an email alias for James Keenan

11 years agoUpdate CPANPLUS to CPAN version 0.9107
Chris 'BinGOs' Williams [Tue, 12 Jul 2011 15:04:46 +0000 (16:04 +0100)]
Update CPANPLUS to CPAN version 0.9107


  Changes for 0.9107      Tue Jul 12 15:22:14 2011
  * Add support for v-strings and x.y.z versions, using the version module.
  * Resolve [ #69420] "type checking for CPANPLUS::Backend::RV::new is incorrect"
  * Resolve [ #69203] "custom sources ignores timeout config option"

11 years agoI, for one, welcome our new DTrace overlord
Florian Ragwitz [Tue, 12 Jul 2011 14:37:32 +0000 (16:37 +0200)]
I, for one, welcome our new DTrace overlord

11 years agoregenerate known_pod_issues
Father Chrysostomos [Tue, 12 Jul 2011 14:06:42 +0000 (07:06 -0700)]
regenerate known_pod_issues

11 years agoDocument and test the phase-change probe
Shawn M Moore [Tue, 12 Jul 2011 12:49:10 +0000 (08:49 -0400)]
Document and test the phase-change probe

11 years agoLoad modules only after setting up @INC
Florian Ragwitz [Tue, 12 Jul 2011 09:35:09 +0000 (11:35 +0200)]
Load modules only after setting up @INC

11 years agoMake Porting/makerel create smaller archives with 7z and advdef
Leon Brocard [Tue, 12 Jul 2011 08:08:57 +0000 (09:08 +0100)]
Make Porting/makerel create smaller archives with 7z and advdef

It automatically will use these to create archives ~5% smaller,
otherwise falls back to gzip and bzip2.

Also, document in Porting/release_managers_guide.pod.

11 years agobuildtoc, known_pod_issues
Father Chrysostomos [Tue, 12 Jul 2011 04:41:32 +0000 (21:41 -0700)]
buildtoc, known_pod_issues

This just does the general bookkeeping necessary when a new pod
(like the one in the previous commit) is added.

11 years agoNew document for perldtrace
Shawn M Moore [Tue, 12 Jul 2011 00:49:25 +0000 (20:49 -0400)]
New document for perldtrace

11 years agoNew test file that exercises Perl's DTrace support
Shawn M Moore [Mon, 11 Jul 2011 20:24:07 +0000 (16:24 -0400)]
New test file that exercises Perl's DTrace support

11 years agoAdd a phase-change DTrace probe
Shawn M Moore [Thu, 7 Jul 2011 02:35:47 +0000 (22:35 -0400)]
Add a phase-change DTrace probe

11 years agoFactor out a PERL_SET_PHASE macro
Shawn M Moore [Thu, 7 Jul 2011 02:34:49 +0000 (22:34 -0400)]
Factor out a PERL_SET_PHASE macro

This is the first step in adding a dtrace probe for global phase change

11 years agoA not X for was_lvalue_sub in embed.fnc.
Craig A. Berry [Tue, 12 Jul 2011 00:13:41 +0000 (19:13 -0500)]
A not X for was_lvalue_sub in embed.fnc.

7b70e8177801df4e142684870ce037d584f72e7b was my (wrong) suggestion,
and it made the symbol only visible when PERL_CORE was defined,
which it isn't in List::Util.

11 years agoStorable: Restore 5.6 compatibility
Father Chrysostomos [Mon, 11 Jul 2011 20:25:35 +0000 (13:25 -0700)]
Storable: Restore 5.6 compatibility

11 years agoStorable: Restore 5.8.2 compatibility
Father Chrysostomos [Mon, 11 Jul 2011 20:21:28 +0000 (13:21 -0700)]
Storable: Restore 5.8.2 compatibility

11 years agoFix a Storable test to work in 5.8.9-
Father Chrysostomos [Mon, 11 Jul 2011 20:10:03 +0000 (13:10 -0700)]
Fix a Storable test to work in 5.8.9-

This test only passes in 5.10.0+ because of a nasty bug in Hash::Util,
or perhaps Internals::SvREADONLY.

lock_hash is supposed to lock values as well as keys, but it doesn’t
always in 5.10.0+, leading me to believe that it was the right func-
tion to use.  (Fixing that is for another commit.)

11 years agouse a flag to signal a stacking filetests instead of peeking at the next op.
Gerard Goossen [Mon, 17 Jan 2011 21:12:53 +0000 (22:12 +0100)]
use a flag to signal a stacking filetests instead of peeking at the next op.

Preparation for the codegeneration changes where the next op isn't accessible.

11 years agoAdd tests for wrapping formats in B objects
Florian Ragwitz [Mon, 11 Jul 2011 19:55:44 +0000 (21:55 +0200)]
Add tests for wrapping formats in B objects

11 years agoIn sv.c, remove comments with structure sizes from bodies_by_type[].
Nicholas Clark [Mon, 11 Jul 2011 13:48:44 +0000 (15:48 +0200)]
In sv.c, remove comments with structure sizes from bodies_by_type[].

On balance, the "typical" sizes seem to be more of a liability than an asset,
as they (by necessity) can only be correct for one particular combination of
UV size, pointer size, NV alignment, etc, which means more likely than not
they *aren't* correct for the platform you're building on. And that's for the
best case scenario, that the comments are updated if the structures are

11 years agoExport Perl_was_lvalue_sub
Father Chrysostomos [Mon, 11 Jul 2011 00:06:58 +0000 (17:06 -0700)]
Export Perl_was_lvalue_sub

As Craig Berry pointed out, the multicall API uses the PUSHSUB macro,
so anything it calls must be exported.

11 years agoAdd support for Unicode's Script_Extension property
Karl Williamson [Sun, 10 Jul 2011 21:01:27 +0000 (15:01 -0600)]
Add support for Unicode's Script_Extension property

This property is an improved version of Script.

11 years agomktables: Suppress certain expected debug msgs
Karl Williamson [Sun, 10 Jul 2011 20:59:32 +0000 (14:59 -0600)]
mktables: Suppress certain expected debug msgs

mktables has a mode for quicker debugging to skip processing some
input files.  When this is done, it is to be expected that the output
will be incomplete, so don't bother warning in this case.

11 years agoUnicode::UCD: nits in comments and pod
Karl Williamson [Sun, 10 Jul 2011 20:29:37 +0000 (14:29 -0600)]
Unicode::UCD: nits in comments and pod

11 years agoperlunicode: nits
Karl Williamson [Sun, 10 Jul 2011 20:28:26 +0000 (14:28 -0600)]
perlunicode: nits

11 years agoperlrecharclass: nit
Karl Williamson [Sun, 10 Jul 2011 20:26:58 +0000 (14:26 -0600)]
perlrecharclass: nit

11 years agomktables: Move test to added class member
Karl Williamson [Sun, 10 Jul 2011 00:13:10 +0000 (18:13 -0600)]
mktables: Move test to added class member

Early Unicode releases didn't specify all possible property values,
but newer ones do, with some exceptions.  As an error check, on a newer
relese, a warning is raised if an unexpected property value is raised.
This member allows properties to be handled in new releases that
Unicode doesn't list the property values for.  (Each property value
corresponds to a mapping.)  The previous test that had a hard-coded
value is amended to use the member's value instead.

11 years agomktables: New method on properties to delete tables
Karl Williamson [Sun, 10 Jul 2011 00:09:44 +0000 (18:09 -0600)]
mktables: New method on properties to delete tables

This method will be used in a future commit.

11 years agoperlgit: C<<...>> -> C<< ... >>
Father Chrysostomos [Sun, 10 Jul 2011 13:15:58 +0000 (06:15 -0700)]
perlgit: C<<...>> -> C<< ... >>

11 years agoSquelch warning in deparse.t
Father Chrysostomos [Sun, 10 Jul 2011 13:07:56 +0000 (06:07 -0700)]
Squelch warning in deparse.t

11 years agoB::Deparse misdeparses qq(@,)
Hojung Youn [Sun, 10 Jul 2011 08:41:13 +0000 (17:41 +0900)]
B::Deparse misdeparses qq(@,)

This commit changes the signature of stash_variable() in B::Deparse.
stash_variable() takes $cx value additionally to know whether or not
it is in the interpolation context.

Punctuation arrays such as @* are usually interpolated only if the
name is enclosed in braces @{*}, but the arrays @_, @+, @- are
interpolated even without braces.

related issue: #93990

11 years agoperlref: update bareword bracketing discussion, mention new auto-dereferencing
Phil Monsen [Sun, 10 Jul 2011 02:15:40 +0000 (21:15 -0500)]
perlref: update bareword bracketing discussion, mention new auto-dereferencing

11 years agoUpdate Pod-Simple to CPAN version 3.17
Chris 'BinGOs' Williams [Sun, 10 Jul 2011 09:13:39 +0000 (10:13 +0100)]
Update Pod-Simple to CPAN version 3.17


  2011-07-09   David E. Wheeler <>
  * Release 3.17

  Documented tertiary methods. Patch from Shawn H Corey.

  Added "backlink" option to Pod::Simple::XHTML. Thanks to Marc
  Green/Google Summer of Code for the pull request.

  Typos fixed in Pod::Simple::HTMLBatch. Reported by Shawn H Corey.

  Fixed quoting of value returned by a "strip_verbatim_indent()"
  code reference so that regex meta characters are properly escaped.

  Added "anchor_items" option to Pod::Simple::XHMTL. This allows
  text items (which are output as <dt> elements) to have IDs that
  can be referenced in the "#" part of a URL. Marc Green/Google
  Summer of Code.

  Added "recurse" option to Pod::Simple::Search. It's enabled by
  default; disable it to turn off recursion into subdirectories.
  Marc Green/Google Summer of Code.

  Added documentation to clarify the behavior of the "content_seen"
  method. Thanks to Olaf Alders for the pull request.

11 years agoUpdate perldoc.pod with URL support
Father Chrysostomos [Sun, 10 Jul 2011 05:22:43 +0000 (22:22 -0700)]
Update perldoc.pod with URL support

11 years agoAdd crude support to perldoc for viewing PODs via HTTP(s)
Claes Jakobsson [Wed, 6 Jul 2011 16:51:45 +0000 (18:51 +0200)]
Add crude support to perldoc for viewing PODs via HTTP(s)

11 years agoPropagate (non-)lvalue context through nested calls
Father Chrysostomos [Sun, 10 Jul 2011 02:18:45 +0000 (19:18 -0700)]
Propagate (non-)lvalue context through nested calls

Before this commit, this code would fail:

$foo = "foo";
sub foo :lvalue{ return index "foo","o" }
sub bar :lvalue { foo }
$x = bar;

(It would fail for ‘return $]’ as well.  Whether it’s a PADTMP or a
read-only scalar makes no difference.)

foo would think it was being called in true lvalue context, because
the entersub op that called it (in bar) was marked that way, bar being
an lvalue sub as well.

The PUSHSUB macro in cop.h needed to be modified to account for
dynamic, or indetermine, context (i.e., indeterminable at compile
time).  This happens when an entersub op is an argument to return or
the last statement in a subroutine.  In those cases it has to propa-
gate the context from the caller.

So what we now do is this: Both lvalue and in-args flags are turned on
for an entersub op when op_lvalue is called with OP_LEAVESUBLV as the
type.  Then PUSHSUB copies into the context stack only those flags
that are set both on the current entersub op and in the context stack
for the previous sub call.

11 years agoperlrecharclass: slight reword
Karl Williamson [Fri, 8 Jul 2011 17:38:36 +0000 (11:38 -0600)]
perlrecharclass: slight reword

11 years agoS_return_lvalues: collapse duplicated code
Father Chrysostomos [Sat, 9 Jul 2011 13:18:24 +0000 (06:18 -0700)]
S_return_lvalues: collapse duplicated code

11 years agoS_return_lvalues: microöptimisation
Father Chrysostomos [Sat, 9 Jul 2011 13:16:36 +0000 (06:16 -0700)]
S_return_lvalues: microöptimisation

This jumps over an if() condition when we know it’s going to be true.

11 years agoFree temps on recursive scalar lvalue sub exit
Father Chrysostomos [Sat, 9 Jul 2011 12:50:04 +0000 (05:50 -0700)]
Free temps on recursive scalar lvalue sub exit

See the thread starting at

I still don’t know why this does not apply to list context.

As with most lvalue sub fixes, this involves deleting code.

11 years agoFix grammar in perldelta
Father Chrysostomos [Sat, 9 Jul 2011 12:44:01 +0000 (05:44 -0700)]
Fix grammar in perldelta

One less, not one fewer.  Less is singular; fewer is plural.

11 years agoSynchronise Math::BigInt::FastCalc to CPAN
Florian Ragwitz [Sat, 9 Jul 2011 09:03:13 +0000 (11:03 +0200)]
Synchronise Math::BigInt::FastCalc to CPAN

11 years agoSynchronise bignum to CPAN
Florian Ragwitz [Sat, 9 Jul 2011 09:03:13 +0000 (11:03 +0200)]
Synchronise bignum to CPAN

11 years agoSynchronise Math::BigRat with CPAN
Florian Ragwitz [Sat, 9 Jul 2011 09:03:13 +0000 (11:03 +0200)]
Synchronise Math::BigRat with CPAN

11 years agoSynchronise I18N::Collate to CPAN
Florian Ragwitz [Sat, 9 Jul 2011 09:03:13 +0000 (11:03 +0200)]
Synchronise I18N::Collate to CPAN

11 years agoSynchronise File::CheckTree to CPAN
Florian Ragwitz [Sat, 9 Jul 2011 09:03:13 +0000 (11:03 +0200)]
Synchronise File::CheckTree to CPAN