This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
10 years agoImplement 'skip' option for merging typemaps
Steffen Mueller [Fri, 11 Feb 2011 17:21:10 +0000 (18:21 +0100)]
Implement 'skip' option for merging typemaps

This implements the 'first come first serve' style merging that
ExtUtils::ParseXS currently does: It prefers the typemap entries that
exist already over new ones. This is because the order of processed
typemaps is such that the default typemaps come last.

10 years agoImplement 'replace' option when merging typemaps
Steffen Mueller [Fri, 11 Feb 2011 16:20:17 +0000 (17:20 +0100)]
Implement 'replace' option when merging typemaps

And by proxy, this had to be implemented in the three add_* methods.
Also adds more tests for merging with conflicts.

10 years agoAllow merging typemaps from file
Steffen Mueller [Fri, 11 Feb 2011 16:09:10 +0000 (17:09 +0100)]
Allow merging typemaps from file

10 years agoAdd method to generate the prototype lookup hash
Steffen Mueller [Fri, 11 Feb 2011 15:50:12 +0000 (16:50 +0100)]
Add method to generate the prototype lookup hash

Akin to the methods in the parent commit that generate the lookup hash
for TYPEMAP/INPUT/OUTPUT, this method will generate the lookup has for
typemap's prototypes as required by ExtUtils::ParseXS at this time.

10 years agoMethods to get typemaps in ParseXS compatible format
Steffen Mueller [Fri, 11 Feb 2011 15:42:46 +0000 (16:42 +0100)]
Methods to get typemaps in ParseXS compatible format

Essentially, these extra methods export the typemap information in the
format expected by ExtUtils::ParseXS at this time. Down the road, we may
want EU::PXS to simply pass around an ExtUtils::Typemaps object.

10 years agoReduce code duplication by using the same prototype regexp
Steffen Mueller [Fri, 11 Feb 2011 13:37:33 +0000 (14:37 +0100)]
Reduce code duplication by using the same prototype regexp

10 years agoTeach EU::Typemaps about the _ prototype
Steffen Mueller [Thu, 10 Feb 2011 16:12:23 +0000 (17:12 +0100)]
Teach EU::Typemaps about the _ prototype

I am in a hurry and this makes things correct, but really, this should
maybe use EU::ParseXS' regular expression.

10 years agoBump ExtUtils::Typemaps version
Steffen Mueller [Thu, 10 Feb 2011 15:51:53 +0000 (16:51 +0100)]
Bump ExtUtils::Typemaps version

Just to make sure there really will never be a confusion or
collision with the similarly named module that has been living
on CPAN.

10 years agoSimplify "remove" logic after previous refactoring
Steffen Mueller [Thu, 10 Feb 2011 15:51:18 +0000 (16:51 +0100)]
Simplify "remove" logic after previous refactoring

10 years agoHash lookup for output sections
Steffen Mueller [Thu, 10 Feb 2011 15:45:29 +0000 (16:45 +0100)]
Hash lookup for output sections

More O(1) for everyone.
Also fixes a tiny issue with an error message from the inputmap
conversion.

10 years agoConvert input sections to hash lookup
Steffen Mueller [Thu, 10 Feb 2011 15:41:09 +0000 (16:41 +0100)]
Convert input sections to hash lookup

Die, O(n), die!

10 years agoStart refactoring EU::Typemaps
Steffen Mueller [Thu, 10 Feb 2011 15:26:10 +0000 (16:26 +0100)]
Start refactoring EU::Typemaps

Use a hash lookup for avoiding collisions.

10 years agoRemove note about being untested
Steffen Mueller [Thu, 10 Feb 2011 13:19:54 +0000 (14:19 +0100)]
Remove note about being untested

This code is actually in production use.

10 years agoupdate copyright
Steffen Mueller [Thu, 10 Feb 2011 13:18:57 +0000 (14:18 +0100)]
update copyright

10 years agoAdd a trailing 's' to the name of EU::Typemap
Steffen Mueller [Thu, 10 Feb 2011 13:17:17 +0000 (14:17 +0100)]
Add a trailing 's' to the name of EU::Typemap

This is to prevent collisions on case-insensitive file systems with
lib/typemap.

10 years agoExtract typemap-related code from ExtUtils::ParseXS
Steffen Mueller [Thu, 10 Feb 2011 12:51:54 +0000 (13:51 +0100)]
Extract typemap-related code from ExtUtils::ParseXS

This was available from CPAN a while ago. The plan is to use it to make
the typemap parsing and manipulation saner and rip the parser from
ExtUtils::ParseXS' dead claws.

10 years agoCleanup of make_targetable origin/smueller/strictpxs_fixups
Steffen Mueller [Sun, 13 Feb 2011 22:34:58 +0000 (23:34 +0100)]
Cleanup of make_targetable

10 years agoFix function name in documentation
Steffen Mueller [Fri, 11 Feb 2011 18:01:39 +0000 (19:01 +0100)]
Fix function name in documentation

10 years agoRemove unnecessary Data::Dumper loading
Steffen Mueller [Fri, 11 Feb 2011 21:47:59 +0000 (22:47 +0100)]
Remove unnecessary Data::Dumper loading

10 years agoRevert "Revert "Moved prototype check to XS code, allowing the .pm file change from...
Steffen Mueller [Fri, 11 Feb 2011 17:55:12 +0000 (18:55 +0100)]
Revert "Revert "Moved prototype check to XS code, allowing the .pm file change from yesterday""

This reverts commit cf8fc7eed929846d31d02d565b4d5f4480a18d69,
reinstating the move of the prototype check to XS code.

10 years agoStart documenting the EU::ParseXS changes
Steffen Mueller [Fri, 11 Feb 2011 17:55:04 +0000 (18:55 +0100)]
Start documenting the EU::ParseXS changes

10 years agoDocumentation: maintainers & copyright
Steffen Mueller [Fri, 11 Feb 2011 17:43:12 +0000 (18:43 +0100)]
Documentation: maintainers & copyright

Adding Jim Keenan and myself to the list of maintainers. Sorry, Jim!
Update copyright and prettify a note.

10 years agoDocumentation fix
Steffen Mueller [Fri, 11 Feb 2011 15:26:41 +0000 (16:26 +0100)]
Documentation fix

Be more precise about the return values of process_typemaps().

10 years agoRename some ExtUtils::ParseXS 'constants'
Steffen Mueller [Fri, 11 Feb 2011 12:36:06 +0000 (13:36 +0100)]
Rename some ExtUtils::ParseXS 'constants'

Make them have properly descriptive, camel case names.

10 years agoReapply the patch that tought EU::ParseXS about _ protos
Steffen Mueller [Thu, 10 Feb 2011 16:09:26 +0000 (17:09 +0100)]
Reapply the patch that tought EU::ParseXS about _ protos

Even including a test!

10 years agoIgnore new ExtUtils::ParseXS files in lib
Steffen Mueller [Thu, 10 Feb 2011 10:14:28 +0000 (11:14 +0100)]
Ignore new ExtUtils::ParseXS files in lib

10 years agoRe-apply ExtUtils::ParseXS portion of 1e8125c62127
Steffen Mueller [Thu, 10 Feb 2011 09:24:24 +0000 (10:24 +0100)]
Re-apply ExtUtils::ParseXS portion of 1e8125c62127

Which had to be reverted as 634b52b92f42a6bb93c549
for a big rebase.

10 years agoRe-apply typo fixes from c4a6f826b3676d1fdbd99
Steffen Mueller [Thu, 10 Feb 2011 09:22:56 +0000 (10:22 +0100)]
Re-apply typo fixes from c4a6f826b3676d1fdbd99

These had to be reverted for the ExtUtils::ParseXS rebase of Jim
Keenan's strictification work.

Originally reverted as 8e19e0c1f155990dc120199.

10 years agoRe-apply EU::ParseXS portion of c33e8be1506a75e
Steffen Mueller [Thu, 10 Feb 2011 09:20:11 +0000 (10:20 +0100)]
Re-apply EU::ParseXS portion of c33e8be1506a75e

This is the unused-arg stuff in tests.
Originally reverted as 836ae07757f3a1a32212.

10 years agoA bit more documentation of make_targetable().
James E. Keenan [Thu, 15 Apr 2010 12:15:24 +0000 (08:15 -0400)]
A bit more documentation of make_targetable().

10 years agoAdd documentation on the hashrefs produced by process_typemaps().
James E. Keenan [Thu, 15 Apr 2010 02:21:27 +0000 (22:21 -0400)]
Add documentation on the hashrefs produced by process_typemaps().

10 years agoAdd documentation and additional tests
James E. Keenan [Thu, 15 Apr 2010 02:17:26 +0000 (22:17 -0400)]
Add documentation and additional tests

... exploring relationship between typemaps and \%targetable.

10 years agoMostly adding tests and documentation.
James E. Keenan [Sun, 11 Apr 2010 20:48:23 +0000 (16:48 -0400)]
Mostly adding tests and documentation.

Rename sub print_preprocessor_statements() to
analyze_preprocessor_statements().  Modify interface to map_type() and
re-work tests as needed.  Wrote documentation in Utilities.pm for
process_single_typemap(), map_type(), standard_XS_defs(),
assign_func_args(), analyze_preprocessor_statements().  Write tests
in t/109-standard_XS_defs.t, t/110-assign_func_args.t.

10 years agoMove several functions to Utilities.pm
James E. Keenan [Sun, 11 Apr 2010 17:52:39 +0000 (13:52 -0400)]
Move several functions to Utilities.pm

Namely: check_conditional_preprocessor_statements(), Warn(),
blurt() and death() to Utilities.pm.

Add file to test blurt, death and Warn.  (death() is not
really testable yet due to hard-coded 'exit'.)  ovid++, rjbs++,
xdg+++ for assistance in developing tests."

10 years agoChange check_cpp() to check_conditional_preprocessor_statements()
James E. Keenan [Sun, 11 Apr 2010 14:35:40 +0000 (10:35 -0400)]
Change check_cpp() to check_conditional_preprocessor_statements()

... to be more self-documenting.

Also: Explicitly pass $self to Warn(), blurt() and death().
Add skeletons of files to test functions moved (or planned to be
moved) to Utilities.pm.

10 years agoWas able to move $Packid into $self.
James E. Keenan [Sat, 10 Apr 2010 14:24:00 +0000 (10:24 -0400)]
Was able to move $Packid into $self.

Note that I got build failures when I attempted to pull $Package into $self.

The distributions below because during various 'eval EXPR'
statements, I got a 'Global variable $Package ...' error.

cut -d '/' -f 7,8,9,10,11 research/problematic.builds.20100410.txt
D/DB/DBURDICK/BoostGraph/Boost-Graph-1.4.tar.gz
D/DE/DEEMON/Crypt-OpenSSL-SMIME-0.02.tar.gz
D/DL/DLOWE/Text-Tmpl-0.33.tar.gz
D/DM/DMAKI/Data-Valve-0.00010.tar.gz
D/DO/DORMANDO/Perlbal-XS-HTTPHeaders-0.20.tar.gz
E/ED/EDPRATOMO/Algorithm-Permute-0.12.tar.gz
J/JH/JHI/String-Approx-3.26.tar.gz
K/KA/KARMAN/Search-Tools-0.45.tar.gz
K/KI/KILINRAX/HTML-Strip-1.06.tar.gz
L/LA/LAIRDM/Algorithm-SVM-0.13.tar.gz
M/MA/MARKSMITH/HTTP-HeaderParser-XS-0.20.tar.gz
M/MC/MCEGLOWS/Search-ContextGraph-0.15.tar.gz
M/MH/MHX/Convert-Binary-C-0.74.tar.gz
M/MH/MHX/Tie-Hash-Indexed-0.05.tar.gz
M/MI/MIKEWONG/Table-ParentChild-0.05.tar.gz
M/MS/MSERGEANT/CDB_File-0.96.tar.gz
M/MS/MSERGEANT/IO-KQueue-0.34.tar.gz
P/PA/PAJAS/XML-LibXML-1.70.tar.gz
P/PM/PMQS/Filter-1.37.tar.gz
S/SA/SALVA/Compress-PPMd-0.11.tar.gz
S/SA/SAPER/Net-Pcap-0.16.tar.gz
S/SA/SAPER/Net-RawIP-0.25.tar.gz
S/SG/SGOELDNER/MonetDB-CLI-MapiXS-0.03.tar.gz
S/SM/SMUELLER/Math-SymbolicX-FastEvaluator-0.01.tar.gz
S/SM/SMUELLER/Parse-ExuberantCTags-1.01.tar.gz
S/SP/SPIDB/Net-ext-1.011.tar.gz
T/TJ/TJMATHER/Crypt-OpenSSL-DSA-0.13.tar.gz

10 years agoRefactor some code into sub set_cond()
James E. Keenan [Sat, 10 Apr 2010 13:24:33 +0000 (09:24 -0400)]
Refactor some code into sub set_cond()

Eliminate instances of calling subs with '&'.

10 years agoAdd vim modeline entries.
James E. Keenan [Sat, 10 Apr 2010 12:56:06 +0000 (08:56 -0400)]
Add vim modeline entries.

10 years agoMove sub print_preprocessor_statements() into Utilities.pm.
James E. Keenan [Sat, 10 Apr 2010 01:42:30 +0000 (21:42 -0400)]
Move sub print_preprocessor_statements() into Utilities.pm.

10 years agoRefactor some code into sub assign_func_args().
James E. Keenan [Sat, 10 Apr 2010 01:38:57 +0000 (21:38 -0400)]
Refactor some code into sub assign_func_args().

10 years agoDon't have to undef if it's never been assigned to.
James E. Keenan [Fri, 9 Apr 2010 03:02:50 +0000 (23:02 -0400)]
Don't have to undef if it's never been assigned to.

10 years agoMove several variables found inside the PARAGRAPH loop
James E. Keenan [Fri, 9 Apr 2010 02:16:04 +0000 (22:16 -0400)]
Move several variables found inside the PARAGRAPH loop

... closer to the point where each is first used.

10 years agoMove $orig_args closer to where it's used
James E. Keenan [Fri, 9 Apr 2010 01:04:51 +0000 (21:04 -0400)]
Move $orig_args closer to where it's used

10 years agoMove $prepush_done closer to where it's used
James E. Keenan [Fri, 9 Apr 2010 00:39:05 +0000 (20:39 -0400)]
Move $prepush_done closer to where it's used

10 years agoMove $func_header inside while loop closer to where it's used
James E. Keenan [Thu, 8 Apr 2010 12:18:14 +0000 (08:18 -0400)]
Move $func_header inside while loop closer to where it's used

10 years agoMove two heredocs into Utilities::standard_XS_defs().
James E. Keenan [Tue, 6 Apr 2010 23:46:54 +0000 (19:46 -0400)]
Move two heredocs into Utilities::standard_XS_defs().

10 years agoChange @outlist and %only_C_inlist into corresponding references
James E. Keenan [Sun, 4 Apr 2010 13:37:17 +0000 (09:37 -0400)]
Change @outlist and %only_C_inlist into corresponding references

... in anticipation of upcoming refactorings,

10 years agoAdd messages to 3 tests which lacked them.
James E. Keenan [Sun, 4 Apr 2010 13:10:06 +0000 (09:10 -0400)]
Add messages to 3 tests which lacked them.

10 years agoMove 4 elements in %args into $self
James E. Keenan [Sat, 3 Apr 2010 22:23:45 +0000 (18:23 -0400)]
Move 4 elements in %args into $self

It was not yet possible to move $args{'s'} into $self because
of a quotemeta problem.

10 years agoNo evident need for 'for' loop in assignment from $args{filename}.
James E. Keenan [Sat, 3 Apr 2010 21:05:07 +0000 (17:05 -0400)]
No evident need for 'for' loop in assignment from $args{filename}.

10 years agoExplicitly pass $self to check_cpp()
James E. Keenan [Sat, 3 Apr 2010 21:00:31 +0000 (17:00 -0400)]
Explicitly pass $self to check_cpp()

Also explicitly return $self from print_preprocessor_statements().

10 years agoRefactor code inside process_file() into print_preprocessor_statements()
James E. Keenan [Sat, 3 Apr 2010 19:00:02 +0000 (15:00 -0400)]
Refactor code inside process_file() into print_preprocessor_statements()

10 years agoChange \@BootCode to $BootCode_ref
James E. Keenan [Sat, 3 Apr 2010 14:00:52 +0000 (10:00 -0400)]
Change \@BootCode to $BootCode_ref

to facilitate more refactoring of code into (somewhat) encapsulated
subs.

10 years agoEliminate some synthetic variables
James E. Keenan [Sat, 3 Apr 2010 13:25:55 +0000 (09:25 -0400)]
Eliminate some synthetic variables

and move declarations of some lexicals closer to the point where
they are actually used.

10 years agoTypographical cleanup
James E. Keenan [Sat, 3 Apr 2010 13:05:13 +0000 (09:05 -0400)]
Typographical cleanup

Mostly elimination of trailing whitespace.

10 years agoAdd $newXS to $self
James E. Keenan [Sat, 3 Apr 2010 02:39:15 +0000 (22:39 -0400)]
Add $newXS to $self

Keeping fingers crossed!

10 years agoMove $proto into $self;
James E. Keenan [Thu, 1 Apr 2010 12:20:02 +0000 (08:20 -0400)]
Move $proto into $self;

10 years agoAdd $Module_cname to $self.
James E. Keenan [Thu, 1 Apr 2010 11:08:35 +0000 (07:08 -0400)]
Add $Module_cname to $self.

10 years agoMove %defaults to $self.
James E. Keenan [Thu, 1 Apr 2010 02:48:28 +0000 (22:48 -0400)]
Move %defaults to $self.

10 years agoMove @line to $self.
James E. Keenan [Thu, 1 Apr 2010 01:55:17 +0000 (21:55 -0400)]
Move @line to $self.

10 years agoMove @line_no, @Attributes, %outargs, @XSStack to $self.
James E. Keenan [Wed, 31 Mar 2010 23:37:04 +0000 (19:37 -0400)]
Move @line_no, @Attributes, %outargs, @XSStack to $self.

10 years agoMove %lengthof, %XsubAliases, %XsubAliasValues, %Interfaces.
James E. Keenan [Wed, 31 Mar 2010 03:10:30 +0000 (23:10 -0400)]
Move %lengthof, %XsubAliases, %XsubAliasValues, %Interfaces.

To do: Eliminate confusion between these attributes: interface
(scalar) interfaces (scalar) Interfaces (hash)

10 years agoAdd \%in_out and \%argtype_seen to $self.
James E. Keenan [Wed, 31 Mar 2010 02:23:02 +0000 (22:23 -0400)]
Add \%in_out and \%argtype_seen to $self.

10 years agoMove 9 'our' hashes and arrays into $self
James E. Keenan [Wed, 31 Mar 2010 00:47:51 +0000 (20:47 -0400)]
Move 9 'our' hashes and arrays into $self

For now, bypassing \@line, \%defaults.

10 years agoMove $var_num into $self.
James E. Keenan [Tue, 30 Mar 2010 22:45:21 +0000 (18:45 -0400)]
Move $var_num into $self.

Write inline comment explaining current status of 'our' variables.

10 years agoMove $Interfaces into $self, but as $self->{interfaces}
James E. Keenan [Tue, 30 Mar 2010 12:34:02 +0000 (08:34 -0400)]
Move $Interfaces into $self, but as $self->{interfaces}

... to avoid confusion with %Interfaces. (But note we already have
$self->{interface}. This will have to be fixed.)

10 years agoMove $DoSetMagic, $XsubAliases, into $self.
James E. Keenan [Tue, 30 Mar 2010 12:07:29 +0000 (08:07 -0400)]
Move $DoSetMagic, $XsubAliases, into $self.

The latter is called 'xsubaliases', the change of casing
anticipating confusion with %XsubAliases.

10 years agoTidy up lists of 'our' variables.
James E. Keenan [Mon, 29 Mar 2010 02:11:33 +0000 (22:11 -0400)]
Tidy up lists of 'our' variables.

10 years agoMove $condnum, $cond, into $self. $ALIAS ran into eval EXPR problems.
James E. Keenan [Mon, 29 Mar 2010 02:07:45 +0000 (22:07 -0400)]
Move $condnum, $cond, into $self. $ALIAS ran into eval EXPR problems.

10 years agoMove $func_args into $self.
James E. Keenan [Mon, 29 Mar 2010 01:39:49 +0000 (21:39 -0400)]
Move $func_args into $self.

10 years agoMove $RETVAL_code into $self.
James E. Keenan [Mon, 29 Mar 2010 01:22:23 +0000 (21:22 -0400)]
Move $RETVAL_code into $self.

10 years agoMove $gotRETVAL into $self.
James E. Keenan [Mon, 29 Mar 2010 00:35:36 +0000 (20:35 -0400)]
Move $gotRETVAL into $self.

10 years agoMove $deferred into $self.
James E. Keenan [Mon, 29 Mar 2010 00:23:56 +0000 (20:23 -0400)]
Move $deferred into $self.

10 years agoEliminate 'our' $printed_name
James E. Keenan [Sun, 28 Mar 2010 17:31:29 +0000 (13:31 -0400)]
Eliminate 'our' $printed_name

Replace it with a 'my' variable declared inside INPUT_handler().
Permissible, because $printed_name is explicitly passed to subs
called from within INPUT_handler() and only there.

10 years agoMove $thisdone and $retvaldone to $self.
James E. Keenan [Sun, 28 Mar 2010 17:21:47 +0000 (13:21 -0400)]
Move $thisdone and $retvaldone to $self.

10 years agoAdd $Packprefix to $self.
James E. Keenan [Sun, 28 Mar 2010 17:02:34 +0000 (13:02 -0400)]
Add $Packprefix to $self.

10 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.

10 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.

10 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 ParseXS.pm, 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.

10 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.

10 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
requested.

10 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.

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

10 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!

10 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.

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

10 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.

10 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.

10 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

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

10 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).

10 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.

10 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;'.

10 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.

10 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.

10 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.

10 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.

10 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'.

10 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.

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