This is a live mirror of the Perl 5 development currently hosted at
11 years agoTests for the pad cleanup.
Brian Fraser [Sat, 11 Jun 2011 18:38:11 +0000 (15:38 -0300)]
Tests for the pad cleanup.

11 years agoCleanup of pad fetching and storing. This version normalizes the data on both sides...
Brian Fraser [Sat, 11 Jun 2011 18:12:44 +0000 (15:12 -0300)]
Cleanup of pad fetching and storing. This version normalizes the data on both sides, which isn't required, but may be more efficient than leaving it to the comparison function.

11 years agoAdded sv_eq_pvn_flags to pad.c, which will be used by later commits.
Brian Fraser [Sat, 11 Jun 2011 17:39:00 +0000 (14:39 -0300)]
Added sv_eq_pvn_flags to pad.c, which will be used by later commits.

11 years agoPassing the flag to the pad functions in toke.c
Brian Fraser [Sat, 11 Jun 2011 17:34:51 +0000 (14:34 -0300)]
Passing the flag to the pad functions in toke.c

11 years agoHandling of the flag parameter in Perl_allocmy, instead of looking at the global...
Brian Fraser [Sat, 11 Jun 2011 17:05:29 +0000 (14:05 -0300)]
Handling of the flag parameter in Perl_allocmy, instead of looking at the global flag.

11 years agopad.c: flags checking for the UTF8 flag when necessary
Brian Fraser [Sun, 10 Jul 2011 18:06:47 +0000 (11:06 -0700)]
pad.c: flags checking for the UTF8 flag when necessary

11 years agopad.h: Added a padadd_UTF8_NAME flag for pad_add_name_pvn.
Brian Fraser [Sat, 11 Jun 2011 16:34:06 +0000 (13:34 -0300)]
pad.h: Added a padadd_UTF8_NAME flag for pad_add_name_pvn.

11 years agoAdded a flags parameter to pad_findlex.
Brian Fraser [Sat, 11 Jun 2011 16:29:54 +0000 (13:29 -0300)]
Added a flags parameter to pad_findlex.

11 years agoAPI tests for pad_findmy_*()
Zefram [Sun, 12 Dec 2010 21:10:22 +0000 (21:10 +0000)]
API tests for pad_findmy_*()

11 years agoAPI test for find_rundefsv()
Zefram [Sun, 12 Dec 2010 20:09:00 +0000 (20:09 +0000)]
API test for find_rundefsv()

11 years agoAPIify pad functions
Zefram [Sun, 12 Dec 2010 16:08:14 +0000 (16:08 +0000)]
APIify pad functions

Move several pad functions into the core API.  Document the pad
functions more consistently for perlapi.  Fix the interface issues
around delimitation of lexical variable names, providing _pvn, _pvs,
_pv, and _sv forms of pad_add_name and pad_findmy.

11 years agoStop buildtoc from generating trailing whitespace
Florian Ragwitz [Tue, 12 Jul 2011 21:51:38 +0000 (23:51 +0200)]
Stop buildtoc from generating trailing whitespace

In win32/pod.mak, at least.

11 years agoMove perlxs{,tut}.pod into the ExtUtils-ParseXS dist
Florian Ragwitz [Tue, 12 Jul 2011 20:59:56 +0000 (22:59 +0200)]
Move perlxs{,tut}.pod into the ExtUtils-ParseXS dist

11 years agoSkip .xs files in t/ dirs when comparing versions
Florian Ragwitz [Tue, 12 Jul 2011 21:20:12 +0000 (23:20 +0200)]
Skip .xs files in t/ dirs  when comparing versions

11 years agopodcheck.t --regen after the ParseXS merge
Florian Ragwitz [Tue, 12 Jul 2011 21:18:06 +0000 (23:18 +0200)]
podcheck.t --regen after the ParseXS merge

11 years agoA perltodone! ExtUtils::ParseXS uses strict
Steffen Mueller [Tue, 12 Jul 2011 20:23:01 +0000 (22:23 +0200)]
A perltodone! ExtUtils::ParseXS uses strict

This is thanks to James Keenan's work! Finally!

11 years agoFill in ExtUtils::ParseXS versions in delta
Steffen Mueller [Tue, 12 Jul 2011 20:10:56 +0000 (22:10 +0200)]
Fill in ExtUtils::ParseXS versions in delta

11 years agoMerge branch 'smueller/eu_typemap' into blead
Steffen Mueller [Tue, 12 Jul 2011 20:02:24 +0000 (22:02 +0200)]
Merge branch 'smueller/eu_typemap' into blead

Much of ExtUtils::ParseXS was rewritten and cleaned up.
It has been made somewhat more extensible and now finally
uses strictures.

The logic for parsing, merging, and dumping XS typemaps was extracted
from ExtUtils::ParseXS into a module of its own, ExtUtils::Typemaps.
ExtUtils::Typemaps offers an interface to typemap handling outside of
the scope of the XS compiler itself.

As a first use case of the improved API an extensibility, typemaps can now
be included inline into XS code with a HEREDOC-like syntax:

  MyType    T_IV

11 years agoIncrease $Storable::VERSION
Father Chrysostomos [Tue, 12 Jul 2011 20:01:58 +0000 (13:01 -0700)]
Increase $Storable::VERSION

The recent CPAN release of 2.30 did not include the last two
changes to Storable.xs, so blead needs a new number.

11 years agoMake Internals::SvREADONLY smarter
Father Chrysostomos [Tue, 12 Jul 2011 18:54:15 +0000 (11:54 -0700)]
Make Internals::SvREADONLY smarter

(aka: More fun with Hash::Util)

$ perl -lMHash::Util=lock_value
$h{a} = __PACKAGE__; lock_value %h, a; $h{a} = "3"; print $h{a}'

OK, so it didn’t really lock it. Now for more fun:

$ perl -lMHash::Util=unlock_value
$h{a} = __PACKAGE__; unlock_value %h, a; $h{a} =~ y/ia/ao/;
print __PACKAGE__

There are three different ways to fix this:
1) Add an SvFAKE function to Internals:: (not *more* ‘internals’ for
   people [ahem, Const::Fast, ahem] to abuse!)
2) Use B::* functions in Hash::Util to check the flags (too slow)
3) Make Internals::SvREADONLY less ‘internal’, by having it deal with
   readonliness in general, rather than just the SVf_READONLY flag.

The third approach seems the most logical, so that’s what this
commit does.

There is one test in t/op/tr.t that uses Internals::SvREADONLY to
detect bovinity, so I’ve changed it to use B instead, as that will
have no effect on post-install efficiency.

(This approach also fixes Const::Fast’s bugginess, but that is purely

11 years agoMake SvIsCOW honest about globs
Father Chrysostomos [Tue, 12 Jul 2011 19:24:29 +0000 (12:24 -0700)]
Make SvIsCOW honest about globs

SvIsCOW was ignoring the fact that it might be passed a
typeglob, which made its behaviour contradict its docs.

This fixes that and, in doing so, simplifies the
upcoming Internals::SvREADONLY fix.

11 years agoMake it possible to have read-only glob copies
Father Chrysostomos [Tue, 12 Jul 2011 18:13:31 +0000 (11:13 -0700)]
Make it possible to have read-only glob copies

(aka Fun with Hash::Util)

This script gives ‘Modification of a read-only value’:

use Hash::Util lock_value;
*foo::; # autovivify
lock_value %::, foo::::;
*foo:: = [];

So far so good.  That’s to be expected.  But this one crashes:

use Hash::Util lock_value;
$a{h} = *foo;
lock_value %a, h;
$a{h} = [];

Under debugging builds, it gives assertion failures.

Anyone who knows how the flags work will see immediately what’s wrong,
but for the sake of those who don’t:

The SVf_FAKE flag is set on a copy of a typeglob, meaning that assign-
ing something other than a glob to it will overwrite the glob, instead
of writing to one of its slots.

The SVf_FAKE flag on a read-only (SVf_READONLY-flagged) string means
that it’s not actually read-only, but a copy-on-write string.

SVf_READONLY on a glob means that you can’t even assign *through* it.
See the first Hash::Util example above.

The crashing occurs when the two flags are combined.
sv_force_normal_flags assumes that anything marked fake AND read-only
is a copy-on-write string, so it proceeds to gut it, even if it’s
actually just corrupting a glob.

So this commit changes that check to take typeglobs into account.

11 years agoDocument full changeset in ExtUtils::ParseXS
Steffen Mueller [Tue, 12 Jul 2011 19:57:49 +0000 (21:57 +0200)]
Document full changeset in ExtUtils::ParseXS

11 years agoBump ExtUtils::ParseXS version to a dev version
Steffen Mueller [Tue, 12 Jul 2011 19:52:51 +0000 (21:52 +0200)]
Bump ExtUtils::ParseXS version to a dev version

11 years agoDocument the TYPEMAP XS keyword
Steffen Mueller [Tue, 12 Jul 2011 19:42:52 +0000 (21:42 +0200)]
Document the TYPEMAP XS keyword

It can be used for embedding typemaps in XS code. Very convenient
when generating XS!

11 years agoDocument the ExtUtils::ParseXS changes in perldelta
Steffen Mueller [Tue, 12 Jul 2011 19:22:52 +0000 (21:22 +0200)]
Document the ExtUtils::ParseXS changes in perldelta

11 years agoAttempt band-aid fix for win32 build failure
Steffen Mueller [Mon, 16 May 2011 18:24:33 +0000 (20:24 +0200)]
Attempt band-aid fix for win32 build failure

11 years agoAdd is_empty method to EU::Typemaps
Steffen Mueller [Sun, 17 Apr 2011 15:13:43 +0000 (17:13 +0200)]
Add is_empty method to EU::Typemaps

11 years agoUse lower case method name for current_line_number
Steffen Mueller [Sun, 17 Apr 2011 12:16:36 +0000 (14:16 +0200)]
Use lower case method name for current_line_number

My fault for botching this up originally, sorry.

11 years agoLose $Fallback global
Steffen Mueller [Sun, 17 Apr 2011 11:37:27 +0000 (13:37 +0200)]
Lose $Fallback global

11 years agoLose the $Overload global
Steffen Mueller [Sun, 17 Apr 2011 11:36:22 +0000 (13:36 +0200)]
Lose the $Overload global

11 years agoRemove superfluous global "$errors"
Steffen Mueller [Sun, 17 Apr 2011 11:18:13 +0000 (13:18 +0200)]
Remove superfluous global "$errors"

11 years agoMake $FH no longer a global
Steffen Mueller [Sun, 17 Apr 2011 11:15:52 +0000 (13:15 +0200)]
Make $FH no longer a global

This is lying of course. It's now in the global $self->{FH},
but this is still the first step to fix its globalness.

11 years agoFix some error messages
Steffen Mueller [Sun, 17 Apr 2011 09:14:22 +0000 (11:14 +0200)]
Fix some error messages

11 years agoError handling/message improvements
Steffen Mueller [Sat, 16 Apr 2011 14:58:57 +0000 (16:58 +0200)]
Error handling/message improvements

- Move line number calculation to separate method
- Make death/Warn/blurt proper methods
  They pretended to be methods all along, but never were.
- Pass XS file name and line no. to typemap parser
  ... for better error messages from the typemap parser in
  case of embedded typemaps

11 years agoAllow overriding line numbers and files while parsing strings
Steffen Mueller [Sat, 16 Apr 2011 14:57:36 +0000 (16:57 +0200)]
Allow overriding line numbers and files while parsing strings

When parsing typemaps from strings, we used to print in-string
line numbers and <string> as the file name. In case of embedded
typemaps in XS code, we really want to refer back to the line
number and name of the XS file. This is now possible.

11 years agoSupport for embedded typemaps in XS
Steffen Mueller [Sat, 16 Apr 2011 13:39:18 +0000 (15:39 +0200)]
Support for embedded typemaps in XS

This implements embedded typemap documents with a heredoc-like
syntax. In your XS, use a block like the following:



11 years agoUpdate docs and exports to be in line with reality
Steffen Mueller [Sat, 16 Apr 2011 12:57:14 +0000 (14:57 +0200)]
Update docs and exports to be in line with reality

11 years agocheck_conditional_preprocessor_statements is not a method
Steffen Mueller [Sat, 19 Feb 2011 16:01:26 +0000 (17:01 +0100)]
check_conditional_preprocessor_statements is not a method

Also, lose some unsightly undef()s.

11 years agoMake get_alias (nee GetAlias) a method
Steffen Mueller [Sat, 19 Feb 2011 15:55:34 +0000 (16:55 +0100)]
Make get_alias (nee GetAlias) a method

11 years agoMake print_section a method
Steffen Mueller [Sat, 19 Feb 2011 15:51:18 +0000 (16:51 +0100)]
Make print_section a method

As with previous changes, checking whether a localization of $_ or
something along those lines is acceptable remains to be done.

11 years agoTransform FOO_handlers to methods
Steffen Mueller [Sat, 19 Feb 2011 15:49:24 +0000 (16:49 +0100)]
Transform FOO_handlers to methods

11 years agoMore methods (merge_section)
Steffen Mueller [Sat, 19 Feb 2011 15:38:13 +0000 (16:38 +0100)]
More methods (merge_section)

11 years agoMake PushXSStack a method
Steffen Mueller [Sat, 19 Feb 2011 15:36:43 +0000 (16:36 +0100)]
Make PushXSStack a method

11 years agoTransform some functions into methods on the proto-object
Steffen Mueller [Sat, 19 Feb 2011 15:34:57 +0000 (16:34 +0100)]
Transform some functions into methods on the proto-object

11 years agoSome simple tests for errors
Steffen Mueller [Sat, 19 Feb 2011 13:02:03 +0000 (14:02 +0100)]
Some simple tests for errors

11 years agoBetter error checking/handling
Steffen Mueller [Sat, 19 Feb 2011 13:01:48 +0000 (14:01 +0100)]
Better error checking/handling

11 years agoEliminate four unsightly magical hash refs
Steffen Mueller [Fri, 18 Feb 2011 21:18:02 +0000 (22:18 +0100)]
Eliminate four unsightly magical hash refs

Previously, we'd be generating and passing around four lookup tables for
C-type to XS-type (type kind), C-type to prototype, XS-type to input map
code, and XS-type to output map code. This is now all handled by

11 years agoMake trailing whitespace a newline at all times
Steffen Mueller [Sat, 19 Feb 2011 13:01:25 +0000 (14:01 +0100)]
Make trailing whitespace a newline at all times

11 years agouse warnings
Steffen Mueller [Fri, 18 Feb 2011 21:17:50 +0000 (22:17 +0100)]
use warnings

11 years agoMake get_(in|out)putmap more flexible
Steffen Mueller [Fri, 18 Feb 2011 20:36:32 +0000 (21:36 +0100)]
Make get_(in|out)putmap more flexible

They now also accept ctypes which are resolved to xstypes via the
typemap section.

11 years agoAdd targetable method
Steffen Mueller [Sun, 13 Feb 2011 22:30:56 +0000 (23:30 +0100)]
Add targetable method

This does the same thing for a simple output map as the make_targetable
function in ExtUtils::ParseXS::Utilities does for all output maps. The
latter function is intended to be superseded by this new method.

11 years agoAdd comment explaining where terrible code comes from
Steffen Mueller [Sun, 13 Feb 2011 10:22:15 +0000 (11:22 +0100)]
Add comment explaining where terrible code comes from

... and it is not brought by the stork.

11 years agoDocument inception of EU::Typemaps
Steffen Mueller [Fri, 11 Feb 2011 18:01:18 +0000 (19:01 +0100)]
Document inception of EU::Typemaps

11 years agoBless singleton
Steffen Mueller [Fri, 11 Feb 2011 17:42:53 +0000 (18:42 +0100)]
Bless singleton

11 years agoNah, implicit is bad
Steffen Mueller [Fri, 11 Feb 2011 17:37:41 +0000 (18:37 +0100)]
Nah, implicit is bad

11 years agoLose now obsolete process_single_typemap()
Steffen Mueller [Fri, 11 Feb 2011 17:35:31 +0000 (18:35 +0100)]
Lose now obsolete process_single_typemap()

This was the actual typemap parser. It is now parsed by
ExtUtils::Typemaps, so we don't need it any more!

11 years agoMake ExtUtils::ParseXS use ExtUtils::Typemaps
Steffen Mueller [Fri, 11 Feb 2011 17:31:44 +0000 (18:31 +0100)]
Make ExtUtils::ParseXS use ExtUtils::Typemaps

This is just the quick'n'dirty conversion to make it use
EU::Typemaps. Eventually, we want to use it in its full object-oriented

11 years agoDo not use Carp, fix propagation of replace/skip
Steffen Mueller [Sun, 13 Feb 2011 20:00:53 +0000 (21:00 +0100)]
Do not use Carp, fix propagation of replace/skip

Using Carp in a module this early in the toolchain can cause ugly
failure. Carp can trigger loading overload. overload::StrVal can trigger
loading Scalar::Util. Scalar::Util::PP requires B. miniperl doesn't like
loading shared libraries.

This problem with Carp just shadowed the underlying problem that the
replace/skip options weren't propagated correctly.

11 years agoDefer loading main module
Steffen Mueller [Sun, 13 Feb 2011 19:22:03 +0000 (20:22 +0100)]
Defer loading main module

11 years agoMore whitespace bug-compatibility
Steffen Mueller [Sun, 13 Feb 2011 19:13:45 +0000 (20:13 +0100)]
More whitespace bug-compatibility

11 years agoMore compatibility testing
Steffen Mueller [Sun, 13 Feb 2011 10:20:03 +0000 (11:20 +0100)]
More compatibility testing

11 years agoAdd test of EU::Typemap output against old ParseXS code
Steffen Mueller [Sat, 12 Feb 2011 17:54:38 +0000 (18:54 +0100)]
Add test of EU::Typemap output against old ParseXS code

This is testing for string equivalency, not code equivalency. But it's
better than nothing.

11 years agoMore bug-compatibility with old ExtUtils::ParseXS
Steffen Mueller [Sat, 12 Feb 2011 17:52:00 +0000 (18:52 +0100)]
More bug-compatibility with old ExtUtils::ParseXS

11 years agoReinstate prototype default and warning about invalid prototypes
Steffen Mueller [Fri, 11 Feb 2011 21:52:30 +0000 (22:52 +0100)]
Reinstate prototype default and warning about invalid prototypes

11 years agoAdd method to get ANSIfied code
Steffen Mueller [Fri, 11 Feb 2011 18:24:21 +0000 (19:24 +0100)]
Add method to get ANSIfied code

This is done to all of the code in EU::PXS anyway, so why not
have a nice method for it?

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

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

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

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

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

11 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

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

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

11 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

11 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

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

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

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

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

11 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

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

11 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

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

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

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

11 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

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

11 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().

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

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

11 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

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

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

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

11 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().

11 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().

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

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

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

Namely: check_conditional_preprocessor_statements(), Warn(),
blurt() and death() to

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