18 months agomake cpan upstream pod related *.PL files use strict smoke-me/dagolden/revive-strictperl
David Golden [Sun, 17 Feb 2013 02:20:52 +0000]
make cpan upstream pod related *.PL files use strict

18 months agomake warnings.pm work under strict
David Golden [Sat, 16 Feb 2013 21:28:08 +0000]
make warnings.pm work under strict

18 months agomake po2latex.PL use strict
David Golden [Sun, 17 Feb 2013 01:07:19 +0000]
make po2latex.PL use strict

18 months agomake Pod::Escapes use strict
David Golden [Sun, 17 Feb 2013 01:07:04 +0000]
make Pod::Escapes use strict

18 months agomake upstream blead *.PL files use strict
David Golden [Sun, 17 Feb 2013 00:53:27 +0000]
make upstream blead *.PL files use strict

18 months agomake Exporter use strict
David Golden [Sun, 17 Feb 2013 00:52:06 +0000]
make Exporter use strict

18 months agomake FindBin.pm use strict
David Golden [Sun, 17 Feb 2013 00:51:37 +0000]
make FindBin.pm use strict

18 months agomake Symbol.pm use strict
David Golden [Sun, 17 Feb 2013 00:51:10 +0000]
make Symbol.pm use strict

18 months agomake overload.pm use strict
David Golden [Sun, 17 Feb 2013 00:48:24 +0000]
make overload.pm use strict

18 months agomake utf8.pm use strict
David Golden [Sun, 17 Feb 2013 00:47:49 +0000]
make utf8.pm use strict

18 months agoadd strictperl to gitignore
David Golden [Sun, 17 Feb 2013 00:46:09 +0000]
add strictperl to gitignore

18 months agoAdd support for building strictperl
David Golden [Sat, 16 Feb 2013 21:15:52 +0000]
Add support for building strictperl

This commit revives chromatic's patch to add a "make strictperl" target
that builds a perl that enables strictures all the time.  This is
an experiment to further examine how to get the core ready for such
a potential future.

18 months agoUpdates to perldelta
Chris 'BinGOs' Williams [Sat, 16 Feb 2013 20:23:32 +0000]
Updates to perldelta

18 months agocharnames.pm: Nit in pod
Karl Williamson [Sat, 16 Feb 2013 18:04:17 +0000]
charnames.pm: Nit in pod

18 months agoUnicode::UCD: Add examples to pod
Karl Williamson [Sat, 16 Feb 2013 16:34:09 +0000]
Unicode::UCD: Add examples to pod

18 months agoDocument in perldelta, new diag and Configure option.
Chris 'BinGOs' Williams [Sat, 16 Feb 2013 14:26:24 +0000]
Document in perldelta, new diag and Configure option.

18 months agoUpdate Archive-Extract to CPAN version 0.68
Chris 'BinGOs' Williams [Sat, 16 Feb 2013 08:09:03 +0000]
Update Archive-Extract to CPAN version 0.68

  [DELTA]

  Changes for 0.68    Fri Feb 15 22:57:09 2013
  ============================================
  * Solaris' tar doesn't like some archives on
    CPAN, prefer gtar if it is available

18 months agoutf8.h, utfebcdic.h: Add, fix comments
Karl Williamson [Thu, 7 Feb 2013 20:43:21 +0000]
utf8.h, utfebcdic.h: Add, fix comments

18 months agolib/Unicode/UCD.pm: Clarify pod
Karl Williamson [Fri, 8 Feb 2013 04:38:59 +0000]
lib/Unicode/UCD.pm: Clarify pod

18 months agoINSTALL: Fix pod verbatim lines
Karl Williamson [Thu, 14 Feb 2013 17:07:51 +0000]
INSTALL: Fix pod verbatim lines

These are fixed to correctly line up and to fit into 79 columns

18 months agouse_versioned_archname => versionedarchname
H.Merijn Brand [Fri, 15 Feb 2013 14:14:54 +0000]
use_versioned_archname => versionedarchname

(now synced with meta)

18 months agoExtend t/porting/diag.t to cover code in DynaLoader.
Nicholas Clark [Wed, 13 Feb 2013 16:06:59 +0000]
Extend t/porting/diag.t to cover code in DynaLoader.

This seems a reasonable extension to cover, as it's arguably part of the
core, because it has to be linked into the perl executable, and handled
differently from everything else, even "static" extensions.

This reveals that DynaLoader can generate a previously undocumented warning,
so document this.

18 months agoExtend t/porting/diag.t to cover various other C-like files.
Nicholas Clark [Wed, 13 Feb 2013 15:28:13 +0000]
Extend t/porting/diag.t to cover various other C-like files.

Specifically C++ source, and files related to perly.y and x2p/a2p.y
This catches an error in an XS module embedded into the (moribund) Symbian
port, which we need to skip.

18 months agot/porting/diag.t now reads files from MANIFEST, instead of scanning the disk.
Nicholas Clark [Wed, 13 Feb 2013 14:34:04 +0000]
t/porting/diag.t now reads files from MANIFEST, instead of scanning the disk.

This does less work, and avoids both files duplicated by the build system,
and false positives due to temporary files left by developers.

18 months agoUpdate File::Temp layout
Steve Hay [Fri, 15 Feb 2013 08:52:47 +0000]
Update File::Temp layout

The latest tarball has moved Temp.pm into a lib/ folder, so we may as well
do likewise to keep Maintainers.pl happy. Also correct the tarball filename
listed there.

18 months agoList files excluded from Config::Perl::V
Steve Hay [Fri, 15 Feb 2013 08:33:32 +0000]
List files excluded from Config::Perl::V

18 months agoMake extended filename syntax the default on VMS.
Craig A. Berry [Fri, 15 Feb 2013 03:27:26 +0000]
Make extended filename syntax the default on VMS.

This feature has been available for over a decade but is still not
the default for the CRTL.  It seems time to make it the default
for Perl.  It means that directory names can have dots in them,
and filenames can contain multiple dots as well as spaces and
generally characters from the top row of the keyboard while the
shift key is held down.

Filenames with native syntax must escape characters in the so-called
extended character set with a caret ("^"), but filenames in Unix
syntax must not have the escapes.  Conversions between native and
Unix syntax will, respectively, add and remove these escapes.

Supporting Unicode in filenames depends on this feature but has
not yet been investigated.

18 months agoMake readdir on VMS only unixify when asked.
Craig A. Berry [Fri, 15 Feb 2013 00:10:55 +0000]
Make readdir on VMS only unixify when asked.

We've been making our home-grown readdir implementation convert
all its results to Unix format since a096370a74e8.  Since readdir
returns relative paths, the usual volume and directory syntax
differences that distinguish VMS and Unix paths don't really apply.

But what does apply is whether the escaping of extended characters
is passed through or removed, and converting to Unix syntax removes
those escapes.  In order to enable extended filename syntax, though,
we're really going to need the escapes.  For example, rmdir will
not be able to remove a directory foo.bar if it's referred to as
[.foo.bar] because a dot is the traditional directory delimiter.
The directory needs to be specified as [.foo^.bar] for rmdir to
delete it successfully.

So make readdir return filespecs in native format unless explicitly
requested to report all filenames in Unix format.

18 months agoHelp ExtUtils::Manifest deal with VMS extended filespecs.
Craig A. Berry [Fri, 15 Feb 2013 00:03:10 +0000]
Help ExtUtils::Manifest deal with VMS extended filespecs.

For one thing, if we're cleaning up filenames, lets put that code
in the sub called 'clean_up_filename' rather than in manifind.  And
since the language of the MANIFEST is really Unix-format filespecs,
convert to those.  This becomes especially important in handling
extended filespecs because unixification also unescapes escaped
characters.

18 months agoMake unixify unescape filespecs already in Unix format.
Craig A. Berry [Thu, 14 Feb 2013 23:28:38 +0000]
Make unixify unescape filespecs already in Unix format.

Sometimes filename components get pasted together in ways that put
a component with caret escapes proper to Extended Filename Syntax
(EFS) for native filespecs into a Unix-format filespec. An example
would be /a/b/foo^_bar, where the '^_' sequence indicates a space
in a native filespec but is technically invalid in a Unix
filespec.

But it doesn't really cost much more to remove the escapes since
we're copying the whole string anyway, so go ahead and do that.
This could theoretically cause trouble if we get Unix-format paths
that have literal carets in them, but that theoretical trouble is
currently less troubling than the practical trouble that crops up
various places in the test suite if we don't do this.

18 months agoMinor doc fix: pp_addr => op_ppaddr
Steffen Mueller [Thu, 14 Feb 2013 16:36:54 +0000]
Minor doc fix: pp_addr => op_ppaddr

18 months agoThe rpeepp and peepp functions need a THX
Steffen Mueller [Tue, 12 Feb 2013 17:26:44 +0000]
The rpeepp and peepp functions need a THX

18 months agoGive Config a version number
David Golden [Thu, 14 Feb 2013 02:09:45 +0000]
Give Config a version number

18 months agoTest that call checkers are copied with actual closures.
Nicholas Clark [Wed, 13 Feb 2013 14:11:16 +0000]
Test that call checkers are copied with actual closures.

This relates to the tests added by commit 09fb282d08ec6c01.

18 months agoMake File::DosGlob handle VMS extended filespecs.
Craig A. Berry [Wed, 13 Feb 2013 02:01:40 +0000]
Make File::DosGlob handle VMS extended filespecs.

18 months agoAdd Midnight BSD to perlport
Chris 'BinGOs' Williams [Tue, 12 Feb 2013 21:27:29 +0000]
Add Midnight BSD to perlport

18 months agoCustom ops may be experimental, but sure aren't new
Steffen Mueller [Tue, 12 Feb 2013 13:42:51 +0000]
Custom ops may be experimental, but sure aren't new

Are they still experimental?

18 months agoUpdate CPAN to CPAN version 2.00-TRIAL
Chris 'BinGOs' Williams [Tue, 12 Feb 2013 09:58:59 +0000]
Update CPAN to CPAN version 2.00-TRIAL

  [DELTA]

  2013-02-06  k  <k@k83.linux.bogus>

    * release 2.00-TRIAL

    * import App::Cpan 0.60_02 from brian d foy

    * RT#82589 doc fix thanks to Zefram

    * several portability fixes for 5.6.2

    * RT#83042 workaround for current circular dependency in CPANPLUS and
      CPANPLUS::Dist::Build

18 months agoAdd entry for update to Data::Dumper.
James E Keenan [Tue, 12 Feb 2013 00:23:26 +0000]
Add entry for update to Data::Dumper.

18 months agoregcomp.c: Fully parenthesize macro expansions formal parameter
Karl Williamson [Mon, 11 Feb 2013 19:07:35 +0000]
regcomp.c: Fully parenthesize macro expansions formal parameter

18 months agoinline_invlist.c, regcomp.c: Comments-onlys, white-space
Karl Williamson [Mon, 11 Feb 2013 18:31:16 +0000]
inline_invlist.c, regcomp.c: Comments-onlys, white-space

inline_invlist.c had comments that are from a different file.  Update
them.  Also corrects the name in a #error line in regcomp.c

18 months agodiag.t: Validate severity of ck warn routines better
Father Chrysostomos [Sun, 10 Feb 2013 22:30:20 +0000]
diag.t: Validate severity of ck warn routines better

In the case of Perl_ck_warner and other _ck_ functions, we can tell
whether it is a severe/default warning or no by the _d suffix (or the
presence of ‘dep’ in the name for regcomp.c’s ckWARN* functions).

This caught one incorrect severity in perldiag.pod, which is also cor-
rected here.

18 months agoSync Config-Perl-V version in Maintainers.pl with CPAN
Chris 'BinGOs' Williams [Sun, 10 Feb 2013 20:30:12 +0000]
Sync Config-Perl-V version in Maintainers.pl with CPAN

18 months agoDeal with spaces in patch descriptions
H.Merijn Brand [Sun, 10 Feb 2013 20:06:45 +0000]
Deal with spaces in patch descriptions

To be sure, I also allowed "Compile time options" to have spaces
Using \0 as a new separator seems a sane choice, as the values returned
from internal functions are pure C strings, so they end with \0

patches can have spaces:
#          $got->{build}{patches}[0] = 'SAVEARGV0'
#     $expected->{build}{patches}[0] = 'SAVEARGV0 - disable magic open in <ARGV>'
#          $got->{build}{patches}[0] = 'ActivePerl'
#     $expected->{build}{patches}[0] = 'ActivePerl Build 1602 [296513]'
#          $got->{build}{patches}[0] = 'DEBPKG:debian/arm_thread_stress_timeout'
#     $expected->{build}{patches}[0] = 'DEBPKG:debian/arm_thread_stress_timeout - http://bugs.debian.org/501970 Raise the timeout of ext/threads/shared/t/stress.t to accommodate slower build hosts'
#          $got->{build}{patches}[0] = 'Bug#55162'
#     $expected->{build}{patches}[0] = 'Bug#55162 File::Spec::case_tolerant performance'

18 months agoRT-116192 - If a directory in @INC already has a trailing '/', don't add another.
Matthew Horsfall (alh) [Thu, 27 Dec 2012 15:38:08 +0000]
RT-116192 - If a directory in @INC already has a trailing '/', don't add another.

18 months agoMention inclusion of both META files, in perldelta
Chris 'BinGOs' Williams [Sun, 10 Feb 2013 19:55:17 +0000]
Mention inclusion of both META files, in perldelta

18 months agoperl.pod: Squash double space
Father Chrysostomos [Sun, 3 Feb 2013 21:42:18 +0000]
perl.pod: Squash double space

inadventently (presumably :) added in commit c1264fa8ede.

18 months agoperldiag.pod: Remove regexp cat from \b{ \B{ message
Father Chrysostomos [Sun, 3 Feb 2013 20:35:56 +0000]
perldiag.pod: Remove regexp cat from \b{ \B{ message

It is no longer in that category as of 147508a29c9.

18 months agopp.c: White-space only
Karl Williamson [Tue, 5 Feb 2013 17:36:56 +0000]
pp.c: White-space only

This moves some things so lines fit in an 80 column window

18 months agoEnable perl core tests to pass when locale support is not available.
Jess Robinson [Fri, 8 Feb 2013 12:30:05 +0000]
Enable perl core tests to pass when locale support is not available.

use locale - this will now die if $Config{d_setlocale} is not true.
All tests that use locale will skip if $Config{d_setlocale} is not true.
This enables us to pass tests on Android which uses ICU instead of locales.

The committer removed trailing white space

18 months agoAdd Jess Robinson to AUTHORS
Karl Williamson [Sun, 10 Feb 2013 03:07:38 +0000]
Add Jess Robinson to AUTHORS

18 months agoDocument corelist change in perldelta
Chris 'BinGOs' Williams [Sat, 9 Feb 2013 21:06:52 +0000]
Document corelist change in perldelta

18 months agoMake corelist --feature a >= v5.9.5 option
Chris 'BinGOs' Williams [Sat, 9 Feb 2013 20:22:14 +0000]
Make corelist --feature a >= v5.9.5 option

18 months agoReport feature availability via corelist -f
Thomas Sibley [Sat, 9 Feb 2013 19:44:13 +0000]
Report feature availability via corelist -f

> regen/feature.pl contains the data below, which could be used to add
> information to Module::CoreList to show what feature was available
> since what perl version
>
> $ corelist -f switch
> Data for 2013-01-20
> feature switch was first released with perl v5.9.5
>
> Any takers?

I reached for this the other day and was sad it didn't already exist.
Patch attached.

As suggested by H.Merijn Brand.

Signed-off-by: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>

18 months agoUpdate Archive-Extract to CPAN version 0.66
Chris 'BinGOs' Williams [Sat, 9 Feb 2013 18:58:03 +0000]
Update Archive-Extract to CPAN version 0.66

  [DELTA]

  Changes for 0.66    Sat Feb  9 18:21:52 2013
  ============================================
  * Treat midnightbsd the same as freebsd for
    the purposes of finding Info-ZIP unzip

18 months agoStandardize removal of escapes in unixify.
Craig A. Berry [Sat, 9 Feb 2013 15:23:09 +0000]
Standardize removal of escapes in unixify.

When converting VMS format file specification to Unix format, we
need to translate sequences escaped with a caret in the VMS format
name into an unescaped form in the resulting Unix name.  We have
a function to do just that, but weren't using it in three of the
most important places that need it.  Using the function gets us
handling more cases than the simple versions we had inline.

18 months agoChange pods to not refer to av_len()
Karl Williamson [Sat, 2 Feb 2013 17:18:45 +0000]
Change pods to not refer to av_len()

This name for the function is misleading; don't encourage its use.

18 months agoAdd av_tindex() synonym for av_top_index()
Karl Williamson [Fri, 8 Feb 2013 21:27:57 +0000]
Add av_tindex() synonym for av_top_index()

The latter is a somewhat less clumsy name.  The old one is provided a a
very clear name; the new one as a somewhat slangy version

18 months agoInline av_top_index()
Karl Williamson [Thu, 7 Feb 2013 19:06:43 +0000]
Inline av_top_index()

This function is just an assert and a macro call.  Avoid the function
call overhead by making it inline.

18 months agoChange name 'av_top' to 'av_top_index'
Karl Williamson [Thu, 7 Feb 2013 18:43:02 +0000]
Change name 'av_top' to 'av_top_index'

 In using the av_top() function created in a recent commit, I found
 myself being confused, and thinking it meant the top element of the
 array, whereas it really means the index of the top element of that
 array.  Since the new name has not appeared in a stable release, it can
 be changed, without remorse, to include 'index' in it.

18 months agomakedef.pl: Don't export inline fcns
Karl Williamson [Fri, 8 Feb 2013 21:00:09 +0000]
makedef.pl: Don't export inline fcns

An inline function is static to the file it is defined in.  But they can
be part of the public API if they are in #included header files and
defined in embed.fnc.  Normally such functions are written to the export
list on platforms that have this, but since they are static, you get a
linkage error.  This commit suppresses the writing of inline functions

18 months agoregen/embed.pl: Extract out duplicate code into a fcn
Karl Williamson [Thu, 7 Feb 2013 17:45:14 +0000]
regen/embed.pl: Extract out duplicate code into a fcn

18 months agoregen/embed.pl: Warn if have > 1 i, p, and s flags
Karl Williamson [Thu, 7 Feb 2013 17:31:22 +0000]
regen/embed.pl: Warn if have > 1 i, p, and s flags

These should be mutually exclusive

18 months agoembed.fnc: Remove inappropriate 'p' flags
Karl Williamson [Thu, 7 Feb 2013 17:26:54 +0000]
embed.fnc: Remove inappropriate 'p' flags

These functions do not begin with 'Perl_'; currently this flag is
ignored here.

18 months agoUpdated File::Temp from 0.22 to 0.22_90
David Golden [Fri, 8 Feb 2013 04:16:14 +0000]
Updated File::Temp from 0.22 to 0.22_90

18 months agoUpdate Text-Soundex to CPAN version 3.04
Chris 'BinGOs' Williams [Thu, 7 Feb 2013 21:16:32 +0000]
Update Text-Soundex to CPAN version 3.04

  [DELTA]

  3.04  Thu Feb  7 15:53:09 EST 2013 <rjbs@cpan.org>

  The module is going to be removed from the core distribution of perl, and will
  now warn (under warnings) if loaded from its installed-to-core location.

18 months agoUpdate File-CheckTree to CPAN version 4.42
Chris 'BinGOs' Williams [Thu, 7 Feb 2013 21:24:35 +0000]
Update File-CheckTree to CPAN version 4.42

  [DELTA]

  4.42  Thu Feb  7 15:51:35 EST 2013
    * add warning (for core-installed copy only) indicating File::CheckTree
      will be removed from core in 5.20.0

18 months agoadd example of warning categorization to perldiag
David Golden [Thu, 7 Feb 2013 19:41:06 +0000]
add example of warning categorization to perldiag

18 months agoreword release announcement template
David Golden [Thu, 7 Feb 2013 14:45:59 +0000]
reword release announcement template

18 months agoBenchmark iteration warnings should warn, not print
David Golden [Wed, 6 Feb 2013 03:23:37 +0000]
Benchmark iteration warnings should warn, not print

18 months agoRemove unused feature setting from vms/vms.c.
Craig A. Berry [Wed, 6 Feb 2013 03:23:42 +0000]
Remove unused feature setting from vms/vms.c.

This feature was apparently intended to enable workarounds for
handling filespec translations on paths with no directory component.
Many (most?) of the problems with such paths have now been fixed,
and the feature itself was never actually used, so we're better
off without it.

18 months agoPass-through handling (again) in tovmsspec.
Craig A. Berry [Wed, 6 Feb 2013 03:05:55 +0000]
Pass-through handling (again) in tovmsspec.

This is a partial retreat from b3efb2487fa7, where we started
passing through all ambiguous filespecs without modification. We
can now process the majority of cases that aren't macros, following
59247333b91 and various other commits that improved the escaping
of dots.  So for now we'll attempt to process these and pass
through macros only.

18 months agoMake vmsify support files with no directory component.
Craig A. Berry [Wed, 6 Feb 2013 01:04:23 +0000]
Make vmsify support files with no directory component.

We've been assuming there is always a directory portion to a path
being converted to VMS format, and it's true that translating
directory delimiters and such is the most noticeable aspect of
such conversions.  But we also depend on the conversion to add
caret escapes to characters in the path that are only valid when
using Extended Filename Syntax (EFS), but weren't doing that
for paths with no directory component.

I.e., this was working:

/disk/dir/foo%bar --> disk:[dir]foo^%bar

but this was not (until now):

foo%bar --> foo^%bar

Since we're now working on a pointer that has not necessarily
been incremented while adding directory syntax, we also add
a number of guards to make sure we don't peek beyond the
beginning of the result string.

N.B.  There will be a separate commit following shortly that
prevents paths with no directory component from being passed
through as-is -- here we just provide the infrastructure to
make that possible.

18 months agoUpdate Pod-Parser to CPAN version 1.60
Chris 'BinGOs' Williams [Tue, 5 Feb 2013 22:45:57 +0000]
Update Pod-Parser to CPAN version 1.60

  [DELTA]

  [Pod-Parser]

  31-Jan-2013           Marek Rouchal                        <marekr@cpan.org>
  -----------------------------------------------------------------------------
  Version 1.60
  + removed Pod::Checker and Pod::Usage from this distribution - they are now
    separate distros and are subjects to be refactored, to be based upon
    Pod::Simple. Thanks to rjbs for reminding me of this.

Add Pod-Checker and Pod-Usage to cpan/

These have been split out of Pod-Parser

  [Pod-Checker]

  27-Jan-2013           Marek Rouchal                        <marekr@cpan.org>
  -----------------------------------------------------------------------------
  Version 1.60
  + preparation of changing this module to use Pod::Simple
    refactored the Pod-Parser distribution and moved all things Pod::Checker
    to this new distribution package
  + CPAN RT#79535: Pod::Checker synopsis for podchecker is opposite
    corrected the POD synopsis
  + factored this distribution out of Pod-Parser-1.51

  [Pod-Usage]

  1.61 (marekr)
  - fix empty META.yml (CPAN RT#83118: META.yml is empty)
  - update outdated test expected data (CPAN RT#83111: fails test)
 
  1.60 (marekr)
  - moved POD behind __END__ for slighlty quicker loading
  - CPAN RT#81387: 2 suggestions for module Pod::Usage
    added example of how to use FindBin to locate the script;
    added $Pod::Usage::Formatter to allow a different base class
  - CPAN RT#75598: [PATCH] Don't use perldoc if it is missing
    implemented as suggested in the RT ticket
  - factored Pod::Usageout of the Pod-Parser distribution into a separate one,
    in order to prepare the rewrite based upon Pod::Simple
  - thanks to rjbs for driving this

18 months agoMake makemeta more cognisant and easier to use
Chris 'BinGOs' Williams [Tue, 5 Feb 2013 21:24:34 +0000]
Make makemeta more cognisant and easier to use

Provide -y and -j switches to produce yml or json
files, respectively, for use in regen rules and tests

The default behaviour is to produce both files.

Update release managers' guide to say to regen the
META files before generating release tarballs.

18 months agomakemeta no longer relies on the currently executing perl for version
Chris 'BinGOs' Williams [Tue, 5 Feb 2013 16:31:29 +0000]
makemeta no longer relies on the currently executing perl for version

18 months agoAdd use_versioned_archname to Configure
David Golden [Wed, 10 Nov 2010 16:15:50 +0000]
Add use_versioned_archname to Configure

This patch adds 'use_versioned_archname' as a Configure option.
When set, it includes 'api_versionstring' in 'archname'. E.g.
x86_64-linux-5.13.6-thread-multi.  It is unset by default.

This feature was requested by Tim Bunce, who observed that
INSTALL_BASE creates a library structure that does not
differentiate by perl version.  Instead, it places architecture
specific files in "$install_base/lib/perl5/$archname".  This makes
it difficult to use a common INSTALL_BASE library path with
multiple versions of perl.

By setting -Duse_versioned_archname, the $archname will be
distinct for architecture *and* API version, allowing mixed use of
INSTALL_BASE.

This patch demonstrates the desired effect for discussion.  Actual
changes would need to be made upstream in metaconfig and
integrated back into blead.

18 months agoRemove EFS escapes in unixify without directory components.
Craig A. Berry [Tue, 5 Feb 2013 13:20:23 +0000]
Remove EFS escapes in unixify without directory components.

When converting a VMS file specification containing caret escapes
for extended characters to Unix format, we need to remove those
escapes.  We were doing so for paths containing directory
components but we also need to do it for bare filenames.  I.e.,
this was working:

disk:[dir]foo^%bar --> /disk/dir/foo%bar

but this was not (until now):

foo^%bar --> foo%bar

18 months agoAdd tests and clarify pod for (?[ ])
Karl Williamson [Mon, 4 Feb 2013 21:03:09 +0000]
Add tests and clarify pod for (?[ ])

A compliled '(?[ ])' embedded in a larger one is unaffected by what
regex modifiers are in effect at the time of the compilation of the
outer one; it retains, going forward, the modifiers it had when it was
first encountered.

18 months agobisect-runner.pl: Reword some pod examples
Karl Williamson [Sat, 2 Feb 2013 19:58:57 +0000]
bisect-runner.pl: Reword some pod examples

I found myself better able to understand what's really happening given
this rewording.

18 months agoperldelta.pod: Fix misstatement
Karl Williamson [Mon, 4 Feb 2013 18:46:46 +0000]
perldelta.pod: Fix misstatement

Spotted by Aaron Crane

18 months agoAdd interpolations to regex sets
Karl Williamson [Sun, 3 Feb 2013 16:29:32 +0000]
Add interpolations to regex sets

This commit adds the capability for '(?[ ])' to contain interpolated
variables from other '(?[ ])' constructs.  A set operation can thus be
built up from the composition of other ones, without having to worry
about precedence, etc.

Thanks to Aaron Crane for suggesting this.

18 months agoIncorporate code review feedback for (?[])
Karl Williamson [Wed, 30 Jan 2013 19:39:51 +0000]
Incorporate code review feedback for (?[])

Thanks to Hugo van der Sanden for reviewing this new code.

18 months agoregcomp.c: Slight refactoring for clarity
Karl Williamson [Wed, 30 Jan 2013 16:34:44 +0000]
regcomp.c: Slight refactoring for clarity

This code was confusing enough that until a couple of commits ago, there
was a useless setting of a local variable.

18 months agoregcomp.c: Combine duplicated code
Karl Williamson [Wed, 30 Jan 2013 16:26:15 +0000]
regcomp.c: Combine duplicated code

18 months agoregcomp.c: Extract code into function
Karl Williamson [Wed, 30 Jan 2013 15:29:54 +0000]
regcomp.c: Extract code into function

The code to parse the flags that occur after in '(?foo)' and
'(?foo:bar)' is extracted into a function; some comments were added.
This is in preparation for this to be called from an additional place

18 months agoregcomp.c: Remove useless code
Karl Williamson [Wed, 30 Jan 2013 05:12:21 +0000]
regcomp.c: Remove useless code

This code sets a variable on the C stack, and two statements later
returns, throwing away that variable without ever using the new value.

18 months agoFix syntax: useless use of constant in void context
Alan Haggai Alavi [Sun, 3 Feb 2013 04:47:06 +0000]
Fix syntax: useless use of constant in void context

18 months agoCorrect word: Window => Windows
Alan Haggai Alavi [Sun, 3 Feb 2013 05:18:01 +0000]
Correct word: Window => Windows

18 months agoThe targets for makemeta in Makefile.SH were spelt wrong
Chris 'BinGOs' Williams [Sat, 2 Feb 2013 16:09:36 +0000]
The targets for makemeta in Makefile.SH were spelt wrong

18 months agoTeach makemeta to use CPAN::Meta to generate both META.json and META.yml
Chris 'BinGOs' Williams [Sat, 26 Jan 2013 12:46:44 +0000]
Teach makemeta to use CPAN::Meta to generate both META.json and META.yml

19 months agoUpdate Module-Load to CPAN version 0.24
Chris 'BinGOs' Williams [Fri, 1 Feb 2013 21:53:23 +0000]
Update Module-Load to CPAN version 0.24

  [DELTA]

  Changes for 0.24    Fri Feb  1 18:14:28 2013
  ============================================
  * Resolve [rt #83093] "Won't load modules with apostrophes"
    reported by Dave Golden

19 months agoregexec.c: Remove redundant code
Karl Williamson [Fri, 1 Feb 2013 04:08:09 +0000]
regexec.c: Remove redundant code

This code does a save_re_context() and then calls swash_init, which also
does a save_re_context.  This is unnecessary; the save should be done in
the lowest possible level.

19 months agoMerge branch 'data-dumper-testing' into blead
James E Keenan [Fri, 1 Feb 2013 02:43:26 +0000]
Merge branch 'data-dumper-testing' into blead

19 months agoregcomp.c: Expand diagnostic
Karl Williamson [Thu, 31 Jan 2013 16:15:05 +0000]
regcomp.c: Expand diagnostic

Perl 5.16 added a deprecation message for an unescaped left brace
following \b and \B in regular expression patterns.  It suggests
escaping the brace by preceding it with a backslash.  This doesn't work
if the pattern delimiters are {}.  Instead, one can escape the brace
by enclosing it within square brackets.  In recent Perls, this compiles
identically to the backslashed version.

This comit expands the message to suggest both options.

19 months agoRemove dead code in Perl_sv_cmp_flags
Steffen Mueller [Thu, 31 Jan 2013 09:58:36 +0000]
Remove dead code in Perl_sv_cmp_flags

Most certainly compiled away anyway, but still dead.

19 months agoData-Dumper: Boost test coverage and refactor.
James E Keenan [Sun, 20 Jan 2013 00:20:21 +0000]
Data-Dumper: Boost test coverage and refactor.

Thanks to coverage data posted by Paul Johnson as part of Perl
Foundation-sponsored work, we know that as of Jan 01 2013, Data::Dumper
(v2.139) had the following coverage of its code by its test suite:

                          stmt  bran  cond   sub
Dumper.xs                 94.8  64.5
blib/lib/Data/Dumper.pm   85.3  76.7  69.6  71.4

The coverage levels reported for Dumper.pm are unacceptably low,
particularly for a library which is part of the Perl 5 core
distribution.  With this commit, we significantly improve
coverage of Dumper.pm; Dumper.xs will need attention from those with XS
expertise.

Attempting to write tests for every line in a codebase frequently
uncovers places in the code that are superfluous or cannot be reached.
The close study of the code required to achieve high test coverage also
discloses places where the code and its documentation are at odds with
each other.  This work on Data::Dumper is no exception, so we have made
changes to Dumper.pm where appropriate.  In addition, in order to
facilitate this analysis and to make the codebase easier to maintain
going forward, the code in Dumper.pm has been tidied up in certain
locations, mostly with respect to tabs vs. whitespace in indentation and
cuddled elses.

Specifics of this commit:

* Modifications to Dumper.pm

** Eliminate subs Dumpf() and Dumpp, which were neither documented nor
tested anywhere in the codebase.  (They will be reinstated if and only
if someone can provide a rationale for that, along with documentation
and testing.)

** For both Values() and Names():  explicit handling (croak) of the case
where the method is provided with a defined argument that is not an
array reference.

** Tidying, mostly in _dump().

** Deletion of commented-out code.

* New test files

** t/deparse.t
** t/dumpperl.t
** t/indent.t
** t/misc.t
** t/names.t
** t/purity_deepcopy_maxdepth.t
** t/quotekeys.t
** t/seen.t
** t/sortkeys.t
** t/sparseseen.t
** t/toaster.t
** t/values.t

** t/lib/Testing.pm - package holding subs used in the new test files

* Expanded test files

** t/freezer.t
** t/terse.t

* Add test for variable type which Data-Dumper does not handle.  Improve
punctuation in fatal error messge.  Related to: RT #101508.

The work done so far has significantly improved the coverage.  As of Jan
26 2013 we are at:
                                  stmt  bran  cond   sub
Jan 01: blib/lib/Data/Dumper.pm   85.3  76.7  69.6  71.4
Jan 26: blib/lib/Data/Dumper.pm   97.9  94.3  82.1  97.6

Additional revisions submitted by Aaron Crane++:

* Adjust newly-added comment.  Without this change, it appears to run on
into the existing comment on the next line.

* Mention "undefined" in carp message, not "non-ref".  This is a more
precise description of the problem encountered.

* Whitespace corrections.

* Avoid scalar-IO in test routine; just return the concatenated ->Dump
return values directly.

19 months agoAdd Config::Perl::V coring to perldelta
Chris 'BinGOs' Williams [Wed, 30 Jan 2013 20:54:50 +0000]
Add Config::Perl::V coring to perldelta

19 months agoreplace "new in Perl 5" hype with timeless Perl hype
Ricardo Signes [Mon, 28 Jan 2013 03:53:06 +0000]
replace "new in Perl 5" hype with timeless Perl hype

19 months agopmruntime(): change '=' to '==' in an assertion
David Mitchell [Wed, 30 Jan 2013 16:40:55 +0000]
pmruntime(): change '=' to '==' in an assertion

Whoops!

Probably harmless, since if the thing it was intended to assert for
was indeed true, then the assignment would be a noop anyway.