This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
13 years agoMove IN6ADDR_ANY and IN6ADDR_LOOPBACK to @EXPORT_OK in Socket.pm, requested by Nicholas
Larwan Berke [Thu, 27 Jan 2011 19:54:14 +0000 (12:54 -0700)]
Move IN6ADDR_ANY and IN6ADDR_LOOPBACK to @EXPORT_OK in Socket.pm, requested by Nicholas

13 years agoUse embed.pl inline capabilities for regcurly
Karl Williamson [Sat, 29 Jan 2011 17:11:39 +0000 (10:11 -0700)]
Use embed.pl inline capabilities for regcurly

Change the regcurly definition to use the new inline abilities.

13 years agoembed.fnc: Add inline function capability
Karl Williamson [Sat, 29 Jan 2011 16:53:44 +0000 (09:53 -0700)]
embed.fnc: Add inline function capability

This patch adds to embed.pl the capability to generate static inline functions.

13 years agomktables: simplify a little code
Karl Williamson [Fri, 28 Jan 2011 16:43:11 +0000 (09:43 -0700)]
mktables: simplify a little code

13 years agomktables: Rmv surrogates caution
Karl Williamson [Fri, 28 Jan 2011 16:39:16 +0000 (09:39 -0700)]
mktables: Rmv surrogates caution

As isolated surrogates are now accepted in the Perl core

13 years agoperlapi: Clarify statement about av_push()
Karl Williamson [Sat, 22 Jan 2011 16:22:08 +0000 (09:22 -0700)]
perlapi: Clarify statement about av_push()

Contrary to the previous text, av_store() requires the user to deal with the
reference count of the scalar being added.

13 years agoperldiag.pod: Expand \p in locale description
Karl Williamson [Fri, 28 Jan 2011 16:01:05 +0000 (09:01 -0700)]
perldiag.pod: Expand \p in locale description

13 years agoPOD typo
Jay Hannah [Sat, 29 Jan 2011 02:07:16 +0000 (18:07 -0800)]
POD typo

13 years agoAdd another address for Jay Hannah to checkAUTHORS.pl
Father Chrysostomos [Sat, 29 Jan 2011 04:30:27 +0000 (20:30 -0800)]
Add another address for Jay Hannah to checkAUTHORS.pl

13 years agobmodpow() fails when GMP library is used.
Peter John Acklam [Sat, 29 Jan 2011 02:00:30 +0000 (18:00 -0800)]
bmodpow() fails when GMP library is used.

This bug is not seen when the libraries Calc and FastCalc are used,
because their _modpow() method modifies the first argument. However,
the GMP library's _modpow() does not modify the first argument,
causing a so far undetected bug to show up and fail tests.

Using the Calc library prints the correct "-4":

    use Math::BigInt lib => Calc;
    $x = Math::BigInt->new(8);
    $y = Math::BigInt->new(8);
    $z = Math::BigInt->new(-5);
    print $x -> bmodpow($y, $z), "\n";

Using the GMP library prints the incorrect "--":

    use Math::BigInt lib => GMP;
    $x = Math::BigInt->new(8);
    $y = Math::BigInt->new(8);
    $z = Math::BigInt->new(-5);
    print $x -> bmodpow($y, $z), "\n";

13 years agoFix endless loop in Porting/makemeta.
Craig A. Berry [Fri, 28 Jan 2011 15:20:17 +0000 (09:20 -0600)]
Fix endless loop in Porting/makemeta.

File::Basename::dirname() returns the current device and directory
on VMS when there is no directory information in the path (i.e.,
you ran out of directories), and the current device and directory
are never ".".  Now that we run makemeta in the test suite, the
expectation that you always get "." was causing the test suite to
hang in a CPU-bound loop.

13 years agoSwitch ExtUtils::CBuilder to use Perl::OSType
David Golden [Fri, 28 Jan 2011 19:15:56 +0000 (14:15 -0500)]
Switch ExtUtils::CBuilder to use Perl::OSType

13 years agoRevert "pod/perlpolicy.pod: fix grammar in 70a565f"
Ricardo Signes [Fri, 28 Jan 2011 16:08:34 +0000 (11:08 -0500)]
Revert "pod/perlpolicy.pod: fix grammar in 70a565f"

This reverts commit 5ccb3a28fc30a358c7870c0f979a11d432b97664.

13 years agoremove some stray apostrophes from perlpolicy
Ricardo Signes [Fri, 28 Jan 2011 15:49:29 +0000 (10:49 -0500)]
remove some stray apostrophes from perlpolicy

13 years agoperldelta: 3bef022 depend on files needed for porting/buildtoc.t
Tony Cook [Fri, 28 Jan 2011 11:01:32 +0000 (22:01 +1100)]
perldelta: 3bef022 depend on files needed for porting/buildtoc.t

13 years agoregcomp: Add warning if tries to use \p in locale.
Karl Williamson [Fri, 28 Jan 2011 05:29:51 +0000 (22:29 -0700)]
regcomp: Add warning if tries to use \p in locale.

\p implies Unicode matching rules, which are likely going to be different than
the locale's.

13 years agotoke.c: Add comment
Karl Williamson [Fri, 28 Jan 2011 05:13:33 +0000 (22:13 -0700)]
toke.c: Add comment

13 years ago[perl #38456] binmode FH, ":crlf" only modifies top crlf layer
Leon Timmermans [Thu, 20 Jan 2011 22:32:28 +0000 (23:32 +0100)]
[perl #38456] binmode FH, ":crlf" only modifies top crlf layer

When pushed on top of the stack, crlf will no longer enable crlf layers
lower in the stack. This will prevent unexpected results.

13 years agoSuppress "Name used only once" warnings.
David E. Wheeler [Fri, 28 Jan 2011 04:33:44 +0000 (20:33 -0800)]
Suppress "Name used only once" warnings.

From Locale::Maketext and I18N::LangTags::Detect. To replicate, run
    perl -Idist/Locale-Maketext/lib -Icpan/IPC-Cmd/lib -Idist/I18N-LangTags/lib -we "use IPC::Cmd"

13 years agoFix test count introduced by previous commit
Karl Williamson [Thu, 27 Jan 2011 23:24:24 +0000 (16:24 -0700)]
Fix test count introduced by previous commit

Commit 99ca48e139a839de3f512cb8cae93f1fe51062ab

13 years agoregex: \p{} in pattern implies Unicode semantics
Karl Williamson [Thu, 27 Jan 2011 23:03:11 +0000 (16:03 -0700)]
regex: \p{} in pattern implies Unicode semantics

Now, a Unicode property match specified in the pattern will indicate that the pattern is meant for matching according to Unicode rules

13 years agoperlre.pod: Fix omission of /a
Karl Williamson [Thu, 27 Jan 2011 21:48:01 +0000 (14:48 -0700)]
perlre.pod: Fix omission of /a

13 years agoAdd Franz Fasching to AUTHORS
Father Chrysostomos [Thu, 27 Jan 2011 22:52:27 +0000 (14:52 -0800)]
Add Franz Fasching to AUTHORS

13 years agoIO::Select: allow removal of IO::Handle objects without fileno
Franz Fasching [Thu, 27 Jan 2011 16:46:59 +0000 (08:46 -0800)]
IO::Select: allow removal of IO::Handle objects without fileno

13 years agopod/perlpolicy.pod: fix grammar in 70a565f
Ævar Arnfjörð Bjarmason [Thu, 27 Jan 2011 22:09:21 +0000 (22:09 +0000)]
pod/perlpolicy.pod: fix grammar in 70a565f

Change the "was within" wording added in 70a565f to "was released
within".

13 years agoclarify perlpolicy about which series are supported
Ricardo Signes [Thu, 27 Jan 2011 21:55:10 +0000 (16:55 -0500)]
clarify perlpolicy about which series are supported

that is, we try to support 5.10.1 for security fixes based on the
release date of 5.10.0, not 5.10.1

13 years agorelative file in %BuildFiles
Robin Barker [Thu, 27 Jan 2011 15:54:40 +0000 (15:54 +0000)]
relative file in %BuildFiles

[Ævar: removed trailing whitespace from the original patch]

Signed-off-by: Ævar Arnfjörð Bjarmason <avar@cpan.org>
13 years agoperlio.c: silence format warnings
Robin Barker [Thu, 27 Jan 2011 14:02:36 +0000 (14:02 +0000)]
perlio.c: silence format warnings

Signed-off-by: Ævar Arnfjörð Bjarmason <avar@cpan.org>
13 years agoadd tests for #3516: \G in a m//g
David Mitchell [Thu, 27 Jan 2011 15:15:35 +0000 (15:15 +0000)]
add tests for #3516: \G in a m//g

as suggested in RT# #76706 by George Greer.

13 years agoMade binmode $fh, ':scalar' DWIM
Leon Timmermans [Mon, 24 Jan 2011 15:48:02 +0000 (16:48 +0100)]
Made binmode $fh, ':scalar' DWIM

This silences this warning:
  $ perl -we 'open my $f, ">", \my $x; binmode $f, "scalar"'
  Use of uninitialized value in binmode at -e line 1.

13 years agoCompile keywords.c on VMS.
Craig A. Berry [Wed, 26 Jan 2011 04:41:35 +0000 (22:41 -0600)]
Compile keywords.c on VMS.

13 years agoAdd Noirin Shirley to AUTHORS
Father Chrysostomos [Wed, 26 Jan 2011 04:32:47 +0000 (20:32 -0800)]
Add Noirin Shirley to AUTHORS

13 years agomore typo fix for perlxstut.pod
Hongwen Qiu [Tue, 25 Jan 2011 05:08:55 +0000 (13:08 +0800)]
more typo fix for perlxstut.pod

13 years agoUpdate CGI to CPAN version 3.52
Chris 'BinGOs' Williams [Tue, 25 Jan 2011 13:49:38 +0000 (13:49 +0000)]
Update CGI to CPAN version 3.52

  [DELTA]

  Version 3.52

  [DOCUMENTATION]
  - The documentation for multi-line header handling was been updated to reflect
    the changes in 3.51. (Mark Stosberg, ntyni@iki.fi)

  [INTERNALS]
  - Add missing t/tmpfile.t file. (RT#64949)
  - Fix warning in t/cookie.t (RT#64570, Chris Williams, Rainer Tammer, Mark Stosberg)
  - Fixed logic bug in t/multipart_init.t (RT#64261, Niko Tyni)

13 years agoSmall change to perlretut and perlrequick to fix Bug 76604
Noirin Shirley [Fri, 30 Jul 2010 13:37:36 +0000 (14:37 +0100)]
Small change to perlretut and perlrequick to fix Bug 76604

13 years agoConvert Safe's remaining hold out tests to Test::More
Nicholas Clark [Tue, 25 Jan 2011 09:29:08 +0000 (09:29 +0000)]
Convert Safe's remaining hold out tests to Test::More

13 years agoConvert Data::Dumper's overload.t to Test::More
Nicholas Clark [Mon, 24 Jan 2011 16:51:49 +0000 (16:51 +0000)]
Convert Data::Dumper's overload.t to Test::More

13 years agoUpdate Module::Build to CPAN version 0.3622
David Golden [Tue, 25 Jan 2011 04:06:38 +0000 (23:06 -0500)]
Update Module::Build to CPAN version 0.3622

[DELTA]

0.3622 - Mon Jan 24 21:06:50 EST 2011

  - No changes from 0.36_21

0.36_21 - Fri Jan 21 11:01:28 EST 2011

  - Changed YAML::Tiny references to the new CPAN::Meta::YAML module
    instead, which is the YAML-variant that is going into the Perl core

0.36_20 - Fri Dec 10 15:36:03 EST 2010

  *** DEPRECATIONS ***

  - Module::Build::Version has been deprecated.  Module::Build now depends
    directly upon version.pm.  A pure-perl version has been bundled in inc/
    solely for bootstrapping in case configure_requires is not supported.
    M::B::Version remains as a wrapper around version.pm.

  - Module::Build::ModuleInfo has been deprecated.  Module::Build now
    depends directly upon Module::Metadata (which is an extraction of
    M::B::ModuleInfo intended for general reuse).  A pure-perl version has
    been bundled in inc/ solely for bootstrapping in case
    configure_requires is not supported. M::B::ModuleInfo remains as a
    wrapper around Module::Metadata.

  - Module::Build::YAML has been deprecated.  Module::Build now depends
    directly upon YAML::Tiny.  M::B::YAML remains as a subclass wrapper.
    The YAML_support feature has been removed, as YAML is now an ordinary
    dependency.

0.36_19 - Tue Dec  7 13:43:42 EST 2010

  Bug fixes:

  - Perl::OSType is declared as a 'configure_requires' dependency, but is
    also bundled in inc (and loaded if needed) [David Golden]

0.36_18 - Mon Dec  6 16:46:49 EST 2010

  Changes:

  - Added dependency on Perl::OSType to refactor and centralize
    management of OS type mapping [David Golden]

  - When parsing a version number out of a file, any trailing alphabetical
    characters will be dropped to avoid fatal errors when comparing version
    numbers.  These would have been dropped (with a warning) anyway during
    an ordinary numeric comparison. (RT#56071) [David Golden]

  Bug fixes:

  - A Perl interpreter mismatch between running Build.PL and running Build
    is now a fatal error, not a warning (RT#55183) [David Golden]

  - Bundled Module::Build::Version updated to bring into sync with CPAN
    version.pm 0.86 [David Golden]

  - No longer uses fake user 'foo' in t/tilde (RT#61793) [David Golden]

  - Won't fail tests if an ancient Tie::IxHash is installed
    [Christopher J. Madsen]

  - Correctly report missing metafile field names [David Golden]

  - Suppress uninitialized value errors during Pod creation
    on ActiveState Perl [David Golden]

  - Return to starting directory after install action; this is
    an attempt to fix an install.t heisenbug (RT#63003) [David Golden]

  - A broken version.pm load won't cause Module::Build::Version to
    die trying to install itself as a mock version (RT#59499)
    [Eric Wilhelm and David Golden]

  - PERL_DL_NONLAZY is now always set when tests are run
    (RT#56055) [Dmitry Karasik]

  - 'fakeinstall' will use .modulebuildrc actions for 'install' if
    no specific 'fakeinstall' options are provided (RT#57279)
    [David Golden]

  - Add install*script to search path for installdeps client
    and search site, then vendor, then core paths

  - Skip noexec tmpdir check on Windows (RT#55667) [Jan Dubois]

  - Arguments with key value pairs may now have keys with "-" in them
    (RT#53050) [David Golden]

  - Add quotemeta to t/tilde.t test to fix Cygwin fails
    [Chris Williams and David Golden]

  - Build script now checks that M::B is at least the same version
    of M::B as provided in 'configure_requires' in META
    (RT#54954) [David Golden]

0.36_17 - Wed Oct 27 18:08:36 EDT 2010

  Enhancements:

  - Added 'distinstall' action to run 'Build install' inside the
    generated distribution directory [Jeff Thalhammer]

0.36_16 - Thu Aug 26 12:44:07 EDT 2010

  Bug fixes:

  - Better error message in case package declaration is not found
    when searching for version. [Alexandr Ciornii]

  - Skips 'release_status' tests on perl < 5.8.1 due to buggy
    treatment of dotted-decimal version numbers [David Golden]

0.36_15 - Wed Aug 25 10:41:28 EDT 2010

  Bug fixes:

  - Added a mock Software::License to prevent t/properties/license.t
    from failing.

0.36_14 - Sun Aug 22 22:56:50 EDT 2010

  Enhancements:

  - Adds 'release_status' and 'dist_suffix' properties in preparation
    for adding CPAN Meta Spec 2 support.  'dist_suffix' will be set
    to 'TRIAL' automatically when necessary. [David Golden]

  - Makes 'license' more liberal.  You can now specify either a license
    key from the approved list (c.f. Module::Build::API) or just a
    Software::License subclass name (e.g. 'Perl_5').  This should
    provide better support for custom or proprietary licenses.
    [David Golden]

0.36_13 - Wed Jul 28 22:40:25 EDT 2010

 Bug-fixes:

 - Bundled Module::Build::Version updated to bring into sync with CPAN
   version.pm 0.82 [David Golden]

0.36_12 - Tue Jul 27 00:08:51 EDT 2010

  Enhancements:

  - Module::Build::Compat will now convert dotted-decimal prereqs into
    decimal rather than dying (and will warn about this). [Apocalypse]

  Bug fixes:

  - Caches case-sensitivity checks to boost performance, fixes
    RT#55162 and RT#56513 [Reini Urban]

  - Won't try to use ActivePerl doc generation tools without confirming
    that they are indeed installed. [David Golden]

  - Sets temporary $ENV{HOME} in testing to an absolute path, which fixes
    some issues when tested as part of the Perl core [Nicholas Clark]

  - Module::Build::ModuleInfo now warns instead of dying when a module
    has an invalid version.  ->version now just returns undef
    (RT#59593) [David Golden]

  Changes:

  - When authors do not specify Module::Build in configure_requires and
    Module::Build is automatically added, a warning will be issued
    showing the added prerequisite [David Golden]

  - Moved automatic configure_requires generation into get_metadata()
    and added an 'auto' argument to toggle it (on for META and off
    for MYMETA) [David Golden]

0.36_11 - Thu May 27 09:41:23 EDT 2010

  Bug fixes:

  - Handle META/MYMETA reading and writing within Module::Build to ensure
    utf8 mode on filehandles.  Now passes/gets only strings to YAML::Tiny
    or Module::Build::YAML

0.36_10 - Wed May 19 18:36:06 EDT 2010

  Bug fixes:

  - Fix failing t/manifypods.t on Windows from 0.36_09 changes [Klaus
    Eichner]

0.36_09 - Tue May 11 09:19:12 EDT 2010

  Bug fixes:

  - Improve HTML documentation generation on ActivePerl (RT#53478)
    [Scott Renner and Klaus Eichner]

0.36_08 - Mon Apr 26 08:00:15 EDT 2010

 Enhancements:

 - Give a list of valid licenses when given one we don't recognize
   (RT#55951) [Yanick Champoux]

 - Added 'Build manifest_skip' action to generate a default MANIFEST.SKIP
   [David Golden]

 Changes:

 - When temporarily generating a MANIFEST.SKIP when none exists, it will
   be removed on exit instead of hanging around until 'Build clean'.  This
   is less surprising/confusing and the 'Build manifest_skip' action
   is now available instead to bootstrap the file [David Golden]

 Bug fixes:

 - Fixed runtime error on cygwin when searching for an executable command
   during installdeps testing [David Golden]

13 years agoremove duplicates in perlxstut.pod
Hongwen Qiu [Tue, 25 Jan 2011 03:46:03 +0000 (11:46 +0800)]
remove duplicates in perlxstut.pod

13 years agocorrect myself's name in AUTHORS
Hongwen Qiu [Tue, 25 Jan 2011 02:18:10 +0000 (10:18 +0800)]
correct myself's name in AUTHORS

13 years ago[perl #82738] Add L<> to more links.
Michael Stevens [Mon, 24 Jan 2011 20:34:58 +0000 (12:34 -0800)]
[perl #82738] Add L<> to more links.

13 years ago[perl #82730] Fix filename reference to perldelta_template.
Michael Stevens [Mon, 24 Jan 2011 20:34:16 +0000 (12:34 -0800)]
[perl #82730] Fix filename reference to perldelta_template.

13 years agoMake t/porting/buildtoc.t use runperl for portability.
Craig A. Berry [Tue, 25 Jan 2011 00:58:35 +0000 (18:58 -0600)]
Make t/porting/buildtoc.t use runperl for portability.

13 years agomake reg_eval_scope.t TODOs consistently fail
David Mitchell [Mon, 24 Jan 2011 22:10:20 +0000 (22:10 +0000)]
make reg_eval_scope.t TODOs consistently fail

Some of the TODO tests in reg_eval_scope.t spuriously passed under
non-threaded builds. Make the tests harder so they always fail.

Since one of the key bugs in (?{..}) is the trashing of the parent pad,
add some extra lexical vars to the parent scope and check they're still
there at the end.

13 years agofix harmless invalid read in Perl_re_compile()
David Mitchell [Mon, 24 Jan 2011 17:38:37 +0000 (17:38 +0000)]
fix harmless invalid read in Perl_re_compile()

[perl #2460] described a case where electric fence reported an invalid
read. This could be reproduced under valgrind with blead and -e'/x/',
but only on a non-debugging build.

This was because it was checking for certain pairs of nodes (e.g. BOL + END)
and wasn't allowing for EXACT nodes, which have the string at the next
node position when using a naive NEXTOPER(first). In the non-debugging
build, the nodes aren't initialised to zero, and a 1-char EXACT node isn't
long enough to spill into the type field of the "next node".

Fix this by only using NEXTOPER(first) when we know the first node is
kosher.

13 years ago[pod] typo fix for perlxstut.pod
Hongwe Qiu [Mon, 24 Jan 2011 11:22:18 +0000 (19:22 +0800)]
[pod] typo fix for perlxstut.pod

13 years agoAdd Hongwe Qiu to AUTHORS
Father Chrysostomos [Mon, 24 Jan 2011 17:57:49 +0000 (09:57 -0800)]
Add Hongwe Qiu to AUTHORS

13 years agoPut AUTHORS in alphabetical order
Father Chrysostomos [Mon, 24 Jan 2011 17:57:08 +0000 (09:57 -0800)]
Put AUTHORS in alphabetical order

I have not checked the whole file. I just noticed this bit.

13 years ago[perl #82722] Give more filenames and urls L<>
Michael Stevens [Mon, 24 Jan 2011 17:53:18 +0000 (09:53 -0800)]
[perl #82722] Give more filenames and urls L<>

13 years ago[perl #82718] Improve English and add some L<> around http links
Michael Stevens [Mon, 24 Jan 2011 17:52:43 +0000 (09:52 -0800)]
[perl #82718] Improve English and add some L<> around http links

13 years ago[perl #82712] Pod link fixes to use correct markup.
Michael Stevens [Mon, 24 Jan 2011 17:51:57 +0000 (09:51 -0800)]
[perl #82712] Pod link fixes to use correct markup.

(found using code from Karl Williamson <public@khwilliamson.com>)

13 years ago[perl #82710] Fix incorrect pod link markup.
Michael Stevens [Mon, 24 Jan 2011 17:51:30 +0000 (09:51 -0800)]
[perl #82710] Fix incorrect pod link markup.

(found using code from Karl Williamson <public@khwilliamson.com>)

13 years ago[perl #82708] Fix unescaped chars in L<>.
Michael Stevens [Mon, 24 Jan 2011 17:51:04 +0000 (09:51 -0800)]
[perl #82708] Fix unescaped chars in L<>.

13 years ago[perl #82706] Tidy up README.win32 pod.
Michael Stevens [Mon, 24 Jan 2011 17:50:35 +0000 (09:50 -0800)]
[perl #82706] Tidy up README.win32 pod.

Surround http:// links with L<> and tidying up lists slightly.

13 years ago[perl #82704] Change bare link in pod to L<...>
Michael Stevens [Mon, 24 Jan 2011 16:40:14 +0000 (08:40 -0800)]
[perl #82704] Change bare link in pod to L<...>

13 years ago[perl #82702] Fix commit message internal link.
Michael Stevens [Mon, 24 Jan 2011 16:39:33 +0000 (08:39 -0800)]
[perl #82702] Fix commit message internal link.

13 years agoExchange dist/Env/t/{array,env}.t, which were transposed by b695f709e8a342e3
Nicholas Clark [Mon, 24 Jan 2011 16:24:28 +0000 (16:24 +0000)]
Exchange dist/Env/t/{array,env}.t, which were transposed by b695f709e8a342e3

13 years agoConvert Env's tests to Test::More
Nicholas Clark [Mon, 24 Jan 2011 16:22:57 +0000 (16:22 +0000)]
Convert Env's tests to Test::More

13 years agoConvert if's test to Test::More
Nicholas Clark [Mon, 24 Jan 2011 16:05:36 +0000 (16:05 +0000)]
Convert if's test to Test::More

13 years agoConvert Storable's store.t to Test::More
Nicholas Clark [Mon, 24 Jan 2011 15:47:50 +0000 (15:47 +0000)]
Convert Storable's store.t to Test::More

The non-obvious reason for the test count increasing from 20 to 21 is that the
file used to read:

print "not " unless open(OUT, 'store');
binmode OUT;

$r = fd_retrieve(::OUT);
print "not " unless defined $r;
print "ok 12\n";

13 years agoConvert I18N::Colate's test to Test::More.
Nicholas Clark [Mon, 24 Jan 2011 15:33:52 +0000 (15:33 +0000)]
Convert I18N::Colate's test to Test::More.

13 years agoMerge perl_keyword.pl into regen/keywords.pl, to generate keywords.[ch]
Nicholas Clark [Mon, 24 Jan 2011 11:06:50 +0000 (11:06 +0000)]
Merge perl_keyword.pl into regen/keywords.pl, to generate keywords.[ch]

Prepend + or - in front of all the keyword names in __DATA__ to mark weak and
strong keywords, needed for keyword.c

As keywords.c needs Devel::Tokenizer::C 0.05, not a core module (and not a
common module either) we can no longer run it as part of regen.pl. So store
the sha256 of the source in the generated files, and use this in to check that
they are not stale (in t/porting/regen.t)

13 years agoBreak out the generated function Perl_keywords() into keywords.c, a new file.
Nicholas Clark [Mon, 24 Jan 2011 10:30:51 +0000 (10:30 +0000)]
Break out the generated function Perl_keywords() into keywords.c, a new file.

As it and Perl_yylex() both need FEATURE_IS_ENABLED, feature_is_enabled() is
no longer static, and the two macro definitions move from toke.c to perl.h

Previously, one had to cut and paste the output of perl_keywords.pl into the
middle of toke.c, and it was not clear that it was generated code.

13 years agoPropagate 2 edits made in Perl_keywords() back to perl_keywords.pl
Nicholas Clark [Mon, 24 Jan 2011 09:43:21 +0000 (09:43 +0000)]
Propagate 2 edits made in Perl_keywords() back to perl_keywords.pl

7918f24d20384771 added PERL_ARGS_ASSERT_KEYWORD and 9b38784150c0aca5 combined
Perl_ckwarn_d() and Perl_warner() into Perl_ck_warner_d().

13 years agoregen/mk_PL_charclass.pl can test that l1_char_class_tab.h is up to date.
Nicholas Clark [Mon, 24 Jan 2011 08:11:44 +0000 (08:11 +0000)]
regen/mk_PL_charclass.pl can test that l1_char_class_tab.h is up to date.

13 years agoMove mk_PL_charclass.pl from Porting/ to regen/
Nicholas Clark [Mon, 24 Jan 2011 08:00:47 +0000 (08:00 +0000)]
Move mk_PL_charclass.pl from Porting/ to regen/

13 years agoConvert mk_PL_charclass.pl to use regen_lib.pl
Nicholas Clark [Mon, 24 Jan 2011 06:28:19 +0000 (06:28 +0000)]
Convert mk_PL_charclass.pl to use regen_lib.pl

Change it to read CaseFolding.txt from lib/unicore, instead of the file
installed with perl, so that it can run with an uninstalled perl.

Add "read only" editor blocks to l1_char_class_tab.h

13 years agoMove the non-generated parts of l1_char_class_tab.h out into handy.h
Nicholas Clark [Sun, 23 Jan 2011 21:51:23 +0000 (21:51 +0000)]
Move the non-generated parts of l1_char_class_tab.h out into handy.h

Now the contents of l1_char_class_tab.h is only the output of
Porting/mk_PL_charclass.pl

13 years agoOverride _fixin_replace_shebang on VMS so MM->fixin works.
Craig A. Berry [Mon, 24 Jan 2011 00:33:01 +0000 (18:33 -0600)]
Override _fixin_replace_shebang on VMS so MM->fixin works.

Script generation doesn't look like it's ever worked on VMS, but
this hasn't been that big a deal because all the utilities
distributed with the core have their own generation facilities
under utils/.  However, Nicholas wants to put that directory on
a diet and have the scripts be generated by the modules that own
them.

So we have to get script generation via MM->fixin working, and we
do that here by prepending the same $Config{startperl} incantation
to the shebang line that we've been using in core for eons.

Tracks upstream commit:

https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/14ff930dd862286d6dafe4228b3a72415b5df9a5

13 years agoSplit shebang line fix-up from file processing in MM->fixin().
Craig A. Berry [Mon, 24 Jan 2011 00:30:56 +0000 (18:30 -0600)]
Split shebang line fix-up from file processing in MM->fixin().

By putting the shebang line gyrations on their own in the new
_fixin_replace_shebang method, we can override that part without
dragging along the file processing code.

Tracks upstream commit:

https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/33d7db29a2adb5bbb12fb2a783063245fe58dfc1

13 years agot/porting/regen.t can test that regcharclass.h is up to date.
Nicholas Clark [Sun, 23 Jan 2011 21:29:12 +0000 (21:29 +0000)]
t/porting/regen.t can test that regcharclass.h is up to date.

As regen/regcharclass.pl uses regen_lib.pl and rename_if_different(), all that
is needed is to pass it --tap on the command line.

13 years agoMove regencharclass.pl from Porting/ to regen/
Nicholas Clark [Sun, 23 Jan 2011 21:08:12 +0000 (21:08 +0000)]
Move regencharclass.pl from Porting/ to regen/

13 years agoConvert regcharclass.pl to use regen_lib.pl
Nicholas Clark [Sun, 23 Jan 2011 21:03:05 +0000 (21:03 +0000)]
Convert regcharclass.pl to use regen_lib.pl

This results in small changes to the formatting of the generated comments
in regcharclass.h

13 years ago[perl #82650] Ignore DTrace build product
David Leadbeater [Sun, 23 Jan 2011 20:39:28 +0000 (12:39 -0800)]
[perl #82650] Ignore DTrace build product

13 years agoAvoid blank lines in META.yml
Nicholas Clark [Sun, 23 Jan 2011 19:15:23 +0000 (19:15 +0000)]
Avoid blank lines in META.yml

13 years agot/porting/regen.t can test that META.yml is up to date.
Nicholas Clark [Sun, 23 Jan 2011 18:42:39 +0000 (18:42 +0000)]
t/porting/regen.t can test that META.yml is up to date.

As Porting/makemeta uses regen_lib.pl and rename_if_different(), all that is
needed is to pass it --tap on the command line.

t/porting/regen.t now tests that all files mentioned in the release managers
guide are up to date (and tests will fail if they are not), hence there is now
no need for the release manager to explicitly test that generated files are
not stale.

13 years agoStore the SHA-256 of the source in files generated by regen_perly.pl
Nicholas Clark [Sun, 23 Jan 2011 18:29:20 +0000 (18:29 +0000)]
Store the SHA-256 of the source in files generated by regen_perly.pl

bison isn't available everywhere, so we can't simply re-run regen_perly.pl to
verify that perly.{act,h,tab} are up to date. So instead store the SHA-256 of
the input files, and extend t/porting/regen.t to check that the input files
haven't been changed subsequently.

13 years agoOutput "read only" editor blocks from regen_perly.pl
Nicholas Clark [Sun, 23 Jan 2011 16:25:30 +0000 (16:25 +0000)]
Output "read only" editor blocks from regen_perly.pl

Use safer_open() and read_only_bottom_close_and_rename() from regen_lib.pl
Consistently use 3 argument open and lexical file handles.

A side effect of this change is that the generated files are no longer made
read-only on disk - if this is desirable, then probably better to change
regen_lib.pl so that all generated files are made read-only.

13 years agoTracked down some other places to make the Unicode-Collate changes
Chris 'BinGOs' Williams [Sun, 23 Jan 2011 16:51:54 +0000 (16:51 +0000)]
Tracked down some other places to make the Unicode-Collate changes

13 years agoUpdate Unicode-Collate to CPAN version 0.72
Chris 'BinGOs' Williams [Sun, 23 Jan 2011 16:48:32 +0000 (16:48 +0000)]
Update Unicode-Collate to CPAN version 0.72

  Second attempt to integrate the XS version of
  Unicode::Collate into core.

  [DELTA]

  0.72  Sat Jan 22 17:28:32 2011
    - xs: fix mixing char* and U8*.

  0.71  Tue Jan 18 22:29:44 2011
    - t/loc_test.t should not fail without Unicode::Normalize.

  0.70  Sun Jan 16 20:31:07 2011
    - Now U::C::Locale->new will use the compiled DUCET via XS if available.
      added some tests in t/loc_test.t.

  0.69  Sat Jan 15 19:41:11 2011
    - clarified about XSUB. revised INSTALL in README.
    - xs: flag passed to utf8n_to_uvuni().
    - doc and comments: [perl #81876] Fix typos by Peter J. Acklam.

13 years agoUpdate ExtUtils::CBuilder in Maintainers.pl
David Golden [Sun, 23 Jan 2011 15:53:40 +0000 (10:53 -0500)]
Update ExtUtils::CBuilder in Maintainers.pl

13 years agobump ExtUtils::CBuilder version numbers
David Golden [Sun, 23 Jan 2011 15:29:41 +0000 (10:29 -0500)]
bump ExtUtils::CBuilder version numbers

13 years agoIn regen scripts, print to explicit file handles instead of using select.
Nicholas Clark [Sun, 23 Jan 2011 11:15:14 +0000 (11:15 +0000)]
In regen scripts, print to explicit file handles instead of using select.

Also put explicit quotes on heredoc declarations to show whether they should
interpolate, merge some heredocs, and remove & from calls to &tab(...)

13 years agoMove the duplicated subroutine tab() into regen_lib.pl
Nicholas Clark [Sun, 23 Jan 2011 10:51:29 +0000 (10:51 +0000)]
Move the duplicated subroutine tab() into regen_lib.pl

13 years agoChange close_and_rename() to read_only_bottom_close_and_rename()
Nicholas Clark [Sun, 23 Jan 2011 10:38:58 +0000 (10:38 +0000)]
Change close_and_rename() to read_only_bottom_close_and_rename()

All users of close_and_rename() were printing out the appropriate "ex: set ro:"
string to the file handle immediately before closing it. So move that into
the common function and rename it to reflect what it now does. [Except
overload.pl, which should have been, given that it calls read_only_top()]

Print a newline above the "ex: set ro:" line. This removes many newlines from
the regen scripts, but does add newlines to a couple of generated files.

13 years agoIn regen/*.pl, refactor the repeated code for close and rename if different.
Nicholas Clark [Sun, 23 Jan 2011 10:07:52 +0000 (10:07 +0000)]
In regen/*.pl, refactor the repeated code for close and rename if different.

Pass the final file name as an optional second argument of safer_open() and
store it with the file handle. Add a function close_and_rename() which closes
the file handle, then retrieves the final name, and renames the temporary file
if the two differ.

13 years agoIn regen_lib.pl, when opening, first unlink a previous file of that name.
Nicholas Clark [Sun, 23 Jan 2011 09:39:21 +0000 (09:39 +0000)]
In regen_lib.pl, when opening, first unlink a previous file of that name.

Previously regcomp.pl had an explicit unlink for the file it creates, but none
of the other regen/*.pl scripts did. Also, remove commented out code relating
to unlink.

13 years agoIn regen_lib.pl use a meaningful key for storing the file's name.
Nicholas Clark [Sun, 23 Jan 2011 09:15:58 +0000 (09:15 +0000)]
In regen_lib.pl use a meaningful key for storing the file's name.

regen_lib.pl is actually using the hash slot of the typeglob, not the scalar
slot. Typeglob syntax is particularly confusing and prone to errors, although
in this case it doesn't make any behaviour difference.

13 years agoFrom: Benny Siegert <bsiegert@gmail.com>
H.Merijn Brand [Sun, 23 Jan 2011 09:17:39 +0000 (10:17 +0100)]
From: Benny Siegert <bsiegert@gmail.com>
Date: Thu, 20 Jan 2011 19:27:04 +0100
Subject: [PATCH] MirBSD: fix rpath for shared libperl

If you build perl with a shared libperl.so on MirBSD (the default config),
it will work up to the installation; however, once installed, it will be
unable to find libperl. Treat rpath handling like in the other BSD
dialects.

Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
13 years agoopcode.pl hasn't generated files named *-old since 2008, so don't delete them.
Nicholas Clark [Sun, 23 Jan 2011 07:59:25 +0000 (07:59 +0000)]
opcode.pl hasn't generated files named *-old since 2008, so don't delete them.

Commit b6b9a09997c80269 removed the last vestiges of the code that generated
any files named *-old, but the code to clean them up remained. It serves no
purpose.

13 years agoregen/overload.pl should use rename_if_different() for lib/overload/numbers.pm
Nicholas Clark [Sun, 23 Jan 2011 07:35:47 +0000 (07:35 +0000)]
regen/overload.pl should use rename_if_different() for lib/overload/numbers.pm

It was the only file generated by any of the regen/*.pl scripts which was
always written out directly, instead of first creating a temporary file, and
only moving that if successfully generated (and different).

13 years agoMove all the generated file header printing into read_only_top()
Nicholas Clark [Sun, 23 Jan 2011 00:09:24 +0000 (00:09 +0000)]
Move all the generated file header printing into read_only_top()

Previously all the scripts in regen/ had code to generate header comments
(buffer-read-only, "do not edit this file", and optionally regeneration
script, regeneration data, copyright years and filename).

This change results in some minor reformatting of header blocks, and
standardises the copyright line as "Larry Wall and others".

13 years agoUpdate TOC for perl51310delta
Jesse Vincent [Sat, 22 Jan 2011 23:58:39 +0000 (18:58 -0500)]
Update TOC for perl51310delta

13 years agoperldelta for 5.13.10
Jesse Vincent [Sat, 22 Jan 2011 23:57:46 +0000 (18:57 -0500)]
perldelta for 5.13.10

13 years agoIn embed.pl, move the logic for perlapi.c's Tolkien quote out from do_not_edit()
Nicholas Clark [Sat, 22 Jan 2011 23:29:59 +0000 (23:29 +0000)]
In embed.pl, move the logic for perlapi.c's Tolkien quote out from do_not_edit()

Previously do_not_edit() has a special case for this based on the filename
parameter. Now the code to add the comment is next to the relevant call to
do_not_edit().

13 years ago"Don't repeat yourself" in regen/opcode.pl
Nicholas Clark [Sat, 22 Jan 2011 22:19:45 +0000 (22:19 +0000)]
"Don't repeat yourself" in regen/opcode.pl

13 years agoRemove Mac OS classic special case code from Cwd's cwd.t
Nicholas Clark [Sat, 22 Jan 2011 20:15:05 +0000 (20:15 +0000)]
Remove Mac OS classic special case code from Cwd's cwd.t

13 years agoConvert File::Spec's remaining tests to Test::More from Test.
Nicholas Clark [Sat, 22 Jan 2011 19:56:41 +0000 (19:56 +0000)]
Convert File::Spec's remaining tests to Test::More from Test.

13 years agoRemove Mac OS classic only tests from Cwd's Spec.t
Nicholas Clark [Sat, 22 Jan 2011 19:17:36 +0000 (19:17 +0000)]
Remove Mac OS classic only tests from Cwd's Spec.t

As MacOS was the only platform with platform-only tests, we can also remove the
entire skip-if-not-this-platform infrastructure. Also, as tryfunc() is only
called from one place, inline it.

13 years agoConvert I18N::LangTags to Test::More from Test.
Nicholas Clark [Sat, 22 Jan 2011 18:18:27 +0000 (18:18 +0000)]
Convert I18N::LangTags to Test::More from Test.