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.
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
requested.
James E. Keenan [Sat, 27 Mar 2010 02:44:35 +0000 (22:44 -0400)]
Eliminate sub ProtoString(), which was used in only one location.
James E. Keenan [Sat, 27 Mar 2010 02:24:15 +0000 (22:24 -0400)]
Move list of XS keywords to Constants.pm.
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!
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.
James E. Keenan [Sat, 27 Mar 2010 01:24:07 +0000 (21:24 -0400)]
Indentation fix
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.
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.
James E. Keenan [Sun, 21 Mar 2010 14:52:31 +0000 (10:52 -0400)]
Inline comment about difficulties which 'eval qq()' will pose
James E. Keenan [Sun, 21 Mar 2010 14:04:56 +0000 (10:04 -0400)]
Typographical cleanup only.
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).
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.
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;'.
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.
James E. Keenan [Sat, 20 Mar 2010 11:49:30 +0000 (07:49 -0400)]
Refine debugging messages to only identify CRITICAL messages.
James E. Keenan [Fri, 19 Mar 2010 12:15:32 +0000 (08:15 -0400)]
STDERR debugging messages around the last suspected '' global variables.
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.
James E. Keenan [Mon, 15 Mar 2010 23:35:34 +0000 (19:35 -0400)]
Rename two more instances of '$name'.
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.
James E. Keenan [Mon, 15 Mar 2010 01:55:03 +0000 (21:55 -0400)]
Add a little POD
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
confusion.
2. Write inline comments at two locations where $name appears to be
previously undeclared global.
3. Correct some indentation.
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()
calls.
James E. Keenan [Sun, 14 Mar 2010 15:50:06 +0000 (11:50 -0400)]
Move code handling processing of typemap files to Utilities.pm.
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
comment.
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 Utilities.pm
James E. Keenan [Sun, 14 Mar 2010 04:13:50 +0000 (23:13 -0500)]
Revise some of the placements into EU::PXS::Constants.
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 Utilities.pm. Eliminate some 'my' variables
inside process_file() that can be handled equally well by %args elements.
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
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'.
James E. Keenan [Sat, 13 Mar 2010 15:31:15 +0000 (10:31 -0500)]
Correct ambiguous regex capture syntax.
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.
James E. Keenan [Sat, 13 Mar 2010 04:40:45 +0000 (23:40 -0500)]
Move about 9 global variables into 'our' status.
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().
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.
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.
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.
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.
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.
Update MANIFEST.
Steffen Mueller [Sun, 6 Feb 2011 10:31:06 +0000 (11:31 +0100)]
Move POD for internal sub from ParseXS.pod to Utilities.pm
Create file to test standard_typemap_locations().
Update MANIFEST.
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:
standard_typemap_locations().
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).
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.
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.
James E. Keenan [Wed, 10 Mar 2010 03:21:07 +0000 (22:21 -0500)]
Eliminate whitespace before final semicolon.
James E. Keenan [Wed, 10 Mar 2010 03:16:18 +0000 (22:16 -0500)]
Change all hard tabs to 4-spaces. Eliminate trailing whitespace.
Steffen Mueller [Sun, 6 Feb 2011 10:09:01 +0000 (11:09 +0100)]
Rename EU::PXS test files to include digits
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.
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.
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.
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.
Steffen Mueller [Sun, 6 Feb 2011 17:36:14 +0000 (18:36 +0100)]
Add an email alias for James Keenan
Chris 'BinGOs' Williams [Tue, 12 Jul 2011 15:04:46 +0000 (16:04 +0100)]
Update CPANPLUS to CPAN version 0.9107
[DELTA]
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 [rt.cpan.org #69420] "type checking for CPANPLUS::Backend::RV::new is incorrect"
* Resolve [rt.cpan.org #69203] "custom sources ignores timeout config option"
Florian Ragwitz [Tue, 12 Jul 2011 14:37:32 +0000 (16:37 +0200)]
I, for one, welcome our new DTrace overlord
Father Chrysostomos [Tue, 12 Jul 2011 14:06:42 +0000 (07:06 -0700)]
regenerate known_pod_issues
Shawn M Moore [Tue, 12 Jul 2011 12:49:10 +0000 (08:49 -0400)]
Document and test the phase-change probe
Florian Ragwitz [Tue, 12 Jul 2011 09:35:09 +0000 (11:35 +0200)]
Load modules only after setting up @INC
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.
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.
Shawn M Moore [Tue, 12 Jul 2011 00:49:25 +0000 (20:49 -0400)]
New document for perldtrace
Shawn M Moore [Mon, 11 Jul 2011 20:24:07 +0000 (16:24 -0400)]
New test file that exercises Perl's DTrace support
Shawn M Moore [Thu, 7 Jul 2011 02:35:47 +0000 (22:35 -0400)]
Add a phase-change DTrace probe
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
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.
Father Chrysostomos [Mon, 11 Jul 2011 20:25:35 +0000 (13:25 -0700)]
Storable: Restore 5.6 compatibility
Father Chrysostomos [Mon, 11 Jul 2011 20:21:28 +0000 (13:21 -0700)]
Storable: Restore 5.8.2 compatibility
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.)
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.
Florian Ragwitz [Mon, 11 Jul 2011 19:55:44 +0000 (21:55 +0200)]
Add tests for wrapping formats in B objects
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
updated.
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.
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.
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.
Karl Williamson [Sun, 10 Jul 2011 20:29:37 +0000 (14:29 -0600)]
Unicode::UCD: nits in comments and pod
Karl Williamson [Sun, 10 Jul 2011 20:28:26 +0000 (14:28 -0600)]
perlunicode: nits
Karl Williamson [Sun, 10 Jul 2011 20:26:58 +0000 (14:26 -0600)]
perlrecharclass: nit
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.
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.
Father Chrysostomos [Sun, 10 Jul 2011 13:15:58 +0000 (06:15 -0700)]
perlgit: C<<...>> -> C<< ... >>
Father Chrysostomos [Sun, 10 Jul 2011 13:07:56 +0000 (06:07 -0700)]
Squelch warning in deparse.t
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
Phil Monsen [Sun, 10 Jul 2011 02:15:40 +0000 (21:15 -0500)]
perlref: update bareword bracketing discussion, mention new auto-dereferencing
Chris 'BinGOs' Williams [Sun, 10 Jul 2011 09:13:39 +0000 (10:13 +0100)]
Update Pod-Simple to CPAN version 3.17
[DELTA]
2011-07-09 David E. Wheeler <david@justatheory.org>
* 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.
Father Chrysostomos [Sun, 10 Jul 2011 05:22:43 +0000 (22:22 -0700)]
Update perldoc.pod with URL support
Claes Jakobsson [Wed, 6 Jul 2011 16:51:45 +0000 (18:51 +0200)]
Add crude support to perldoc for viewing PODs via HTTP(s)
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.
Karl Williamson [Fri, 8 Jul 2011 17:38:36 +0000 (11:38 -0600)]
perlrecharclass: slight reword
Father Chrysostomos [Sat, 9 Jul 2011 13:18:24 +0000 (06:18 -0700)]
S_return_lvalues: collapse duplicated code
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.
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
<
83877DD1-4624-4497-B784-
0F8DA25DB4A8@cpan.org>.
I still don’t know why this does not apply to list context.
As with most lvalue sub fixes, this involves deleting code.
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.
Florian Ragwitz [Sat, 9 Jul 2011 09:03:13 +0000 (11:03 +0200)]
Synchronise Math::BigInt::FastCalc to CPAN
Florian Ragwitz [Sat, 9 Jul 2011 09:03:13 +0000 (11:03 +0200)]
Synchronise bignum to CPAN
Florian Ragwitz [Sat, 9 Jul 2011 09:03:13 +0000 (11:03 +0200)]
Synchronise Math::BigRat with CPAN
Florian Ragwitz [Sat, 9 Jul 2011 09:03:13 +0000 (11:03 +0200)]
Synchronise I18N::Collate to CPAN
Florian Ragwitz [Sat, 9 Jul 2011 09:03:13 +0000 (11:03 +0200)]
Synchronise File::CheckTree to CPAN
Florian Ragwitz [Sat, 9 Jul 2011 09:03:13 +0000 (11:03 +0200)]
Synchronise Env to CPAN
Florian Ragwitz [Sat, 9 Jul 2011 09:03:13 +0000 (11:03 +0200)]
Synchronise Dumpvalue to CPAN
Florian Ragwitz [Sat, 9 Jul 2011 09:03:13 +0000 (11:03 +0200)]
Synchronise B::Lint to CPAN
Florian Ragwitz [Sat, 9 Jul 2011 08:49:35 +0000 (10:49 +0200)]
constant-1.22 is not on CPAN yet