This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
11 years agoUnicode::UCD: Add examples to pod
Karl Williamson [Sat, 16 Feb 2013 16:34:09 +0000 (09:34 -0700)]
Unicode::UCD: Add examples to pod

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

11 years agoUpdate Archive-Extract to CPAN version 0.68
Chris 'BinGOs' Williams [Sat, 16 Feb 2013 08:09:03 +0000 (08:09 +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

11 years agoutf8.h, utfebcdic.h: Add, fix comments
Karl Williamson [Thu, 7 Feb 2013 20:43:21 +0000 (13:43 -0700)]
utf8.h, utfebcdic.h: Add, fix comments

11 years agolib/Unicode/UCD.pm: Clarify pod
Karl Williamson [Fri, 8 Feb 2013 04:38:59 +0000 (21:38 -0700)]
lib/Unicode/UCD.pm: Clarify pod

11 years agoINSTALL: Fix pod verbatim lines
Karl Williamson [Thu, 14 Feb 2013 17:07:51 +0000 (10:07 -0700)]
INSTALL: Fix pod verbatim lines

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

11 years agouse_versioned_archname => versionedarchname
H.Merijn Brand [Fri, 15 Feb 2013 14:14:54 +0000 (15:14 +0100)]
use_versioned_archname => versionedarchname

(now synced with meta)

11 years agoExtend t/porting/diag.t to cover code in DynaLoader.
Nicholas Clark [Wed, 13 Feb 2013 16:06:59 +0000 (17:06 +0100)]
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.

11 years agoExtend t/porting/diag.t to cover various other C-like files.
Nicholas Clark [Wed, 13 Feb 2013 15:28:13 +0000 (16:28 +0100)]
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.

11 years agot/porting/diag.t now reads files from MANIFEST, instead of scanning the disk.
Nicholas Clark [Wed, 13 Feb 2013 14:34:04 +0000 (15:34 +0100)]
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.

11 years agoUpdate File::Temp layout
Steve Hay [Fri, 15 Feb 2013 08:52:47 +0000 (08:52 +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.

11 years agoList files excluded from Config::Perl::V
Steve Hay [Fri, 15 Feb 2013 08:33:32 +0000 (08:33 +0000)]
List files excluded from Config::Perl::V

11 years agoMake extended filename syntax the default on VMS.
Craig A. Berry [Fri, 15 Feb 2013 03:27:26 +0000 (21:27 -0600)]
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.

11 years agoMake readdir on VMS only unixify when asked.
Craig A. Berry [Fri, 15 Feb 2013 00:10:55 +0000 (18:10 -0600)]
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.

11 years agoHelp ExtUtils::Manifest deal with VMS extended filespecs.
Craig A. Berry [Fri, 15 Feb 2013 00:03:10 +0000 (18:03 -0600)]
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.

11 years agoMake unixify unescape filespecs already in Unix format.
Craig A. Berry [Thu, 14 Feb 2013 23:28:38 +0000 (17:28 -0600)]
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.

11 years agoMinor doc fix: pp_addr => op_ppaddr
Steffen Mueller [Thu, 14 Feb 2013 16:36:54 +0000 (17:36 +0100)]
Minor doc fix: pp_addr => op_ppaddr

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

11 years agoGive Config a version number
David Golden [Thu, 14 Feb 2013 02:09:45 +0000 (21:09 -0500)]
Give Config a version number

11 years agoTest that call checkers are copied with actual closures.
Nicholas Clark [Wed, 13 Feb 2013 14:11:16 +0000 (15:11 +0100)]
Test that call checkers are copied with actual closures.

This relates to the tests added by commit 09fb282d08ec6c01.

11 years agoMake File::DosGlob handle VMS extended filespecs.
Craig A. Berry [Wed, 13 Feb 2013 02:01:40 +0000 (20:01 -0600)]
Make File::DosGlob handle VMS extended filespecs.

11 years agoAdd Midnight BSD to perlport
Chris 'BinGOs' Williams [Tue, 12 Feb 2013 21:27:29 +0000 (21:27 +0000)]
Add Midnight BSD to perlport

11 years agoCustom ops may be experimental, but sure aren't new
Steffen Mueller [Tue, 12 Feb 2013 13:42:51 +0000 (14:42 +0100)]
Custom ops may be experimental, but sure aren't new

Are they still experimental?

11 years agoUpdate CPAN to CPAN version 2.00-TRIAL
Chris 'BinGOs' Williams [Tue, 12 Feb 2013 09:58:59 +0000 (09:58 +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

11 years agoAdd entry for update to Data::Dumper.
James E Keenan [Tue, 12 Feb 2013 00:23:26 +0000 (19:23 -0500)]
Add entry for update to Data::Dumper.

11 years agoregcomp.c: Fully parenthesize macro expansions formal parameter
Karl Williamson [Mon, 11 Feb 2013 19:07:35 +0000 (12:07 -0700)]
regcomp.c: Fully parenthesize macro expansions formal parameter

11 years agoinline_invlist.c, regcomp.c: Comments-onlys, white-space
Karl Williamson [Mon, 11 Feb 2013 18:31:16 +0000 (11:31 -0700)]
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

11 years agodiag.t: Validate severity of ck warn routines better
Father Chrysostomos [Sun, 10 Feb 2013 22:30:20 +0000 (14:30 -0800)]
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.

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

11 years agoDeal with spaces in patch descriptions
H.Merijn Brand [Sun, 10 Feb 2013 20:06:45 +0000 (21:06 +0100)]
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'

11 years 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 (10:38 -0500)]
RT-116192 - If a directory in @INC already has a trailing '/', don't add another.

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

11 years agoperl.pod: Squash double space
Father Chrysostomos [Sun, 3 Feb 2013 21:42:18 +0000 (13:42 -0800)]
perl.pod: Squash double space

inadventently (presumably :) added in commit c1264fa8ede.

11 years agoperldiag.pod: Remove regexp cat from \b{ \B{ message
Father Chrysostomos [Sun, 3 Feb 2013 20:35:56 +0000 (12:35 -0800)]
perldiag.pod: Remove regexp cat from \b{ \B{ message

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

11 years agopp.c: White-space only
Karl Williamson [Tue, 5 Feb 2013 17:36:56 +0000 (10:36 -0700)]
pp.c: White-space only

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

11 years agoEnable perl core tests to pass when locale support is not available.
Jess Robinson [Fri, 8 Feb 2013 12:30:05 +0000 (12:30 +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

11 years agoAdd Jess Robinson to AUTHORS
Karl Williamson [Sun, 10 Feb 2013 03:07:38 +0000 (20:07 -0700)]
Add Jess Robinson to AUTHORS

11 years agoDocument corelist change in perldelta
Chris 'BinGOs' Williams [Sat, 9 Feb 2013 21:06:52 +0000 (21:06 +0000)]
Document corelist change in perldelta

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

11 years agoReport feature availability via corelist -f
Thomas Sibley [Sat, 9 Feb 2013 19:44:13 +0000 (19:44 +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>
11 years agoUpdate Archive-Extract to CPAN version 0.66
Chris 'BinGOs' Williams [Sat, 9 Feb 2013 18:58:03 +0000 (18:58 +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

11 years agoStandardize removal of escapes in unixify.
Craig A. Berry [Sat, 9 Feb 2013 15:23:09 +0000 (09:23 -0600)]
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.

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

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

11 years agoAdd av_tindex() synonym for av_top_index()
Karl Williamson [Fri, 8 Feb 2013 21:27:57 +0000 (14:27 -0700)]
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

11 years agoInline av_top_index()
Karl Williamson [Thu, 7 Feb 2013 19:06:43 +0000 (12:06 -0700)]
Inline av_top_index()

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

11 years agoChange name 'av_top' to 'av_top_index'
Karl Williamson [Thu, 7 Feb 2013 18:43:02 +0000 (11:43 -0700)]
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.

11 years agomakedef.pl: Don't export inline fcns
Karl Williamson [Fri, 8 Feb 2013 21:00:09 +0000 (14:00 -0700)]
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

11 years agoregen/embed.pl: Extract out duplicate code into a fcn
Karl Williamson [Thu, 7 Feb 2013 17:45:14 +0000 (10:45 -0700)]
regen/embed.pl: Extract out duplicate code into a fcn

11 years agoregen/embed.pl: Warn if have > 1 i, p, and s flags
Karl Williamson [Thu, 7 Feb 2013 17:31:22 +0000 (10:31 -0700)]
regen/embed.pl: Warn if have > 1 i, p, and s flags

These should be mutually exclusive

11 years agoembed.fnc: Remove inappropriate 'p' flags
Karl Williamson [Thu, 7 Feb 2013 17:26:54 +0000 (10:26 -0700)]
embed.fnc: Remove inappropriate 'p' flags

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

11 years agoUpdated File::Temp from 0.22 to 0.22_90
David Golden [Fri, 8 Feb 2013 04:16:14 +0000 (23:16 -0500)]
Updated File::Temp from 0.22 to 0.22_90

11 years agoUpdate Text-Soundex to CPAN version 3.04
Chris 'BinGOs' Williams [Thu, 7 Feb 2013 21:16:32 +0000 (21:16 +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.

11 years agoUpdate File-CheckTree to CPAN version 4.42
Chris 'BinGOs' Williams [Thu, 7 Feb 2013 21:24:35 +0000 (21:24 +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

11 years agoadd example of warning categorization to perldiag
David Golden [Thu, 7 Feb 2013 19:41:06 +0000 (14:41 -0500)]
add example of warning categorization to perldiag

11 years agoreword release announcement template
David Golden [Thu, 7 Feb 2013 14:45:59 +0000 (09:45 -0500)]
reword release announcement template

11 years agoBenchmark iteration warnings should warn, not print
David Golden [Wed, 6 Feb 2013 03:23:37 +0000 (22:23 -0500)]
Benchmark iteration warnings should warn, not print

11 years agoRemove unused feature setting from vms/vms.c.
Craig A. Berry [Wed, 6 Feb 2013 03:23:42 +0000 (21:23 -0600)]
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.

11 years agoPass-through handling (again) in tovmsspec.
Craig A. Berry [Wed, 6 Feb 2013 03:05:55 +0000 (21:05 -0600)]
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.

11 years agoMake vmsify support files with no directory component.
Craig A. Berry [Wed, 6 Feb 2013 01:04:23 +0000 (19:04 -0600)]
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.

11 years agoUpdate Pod-Parser to CPAN version 1.60
Chris 'BinGOs' Williams [Tue, 5 Feb 2013 22:45:57 +0000 (22:45 +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

11 years agoMake makemeta more cognisant and easier to use
Chris 'BinGOs' Williams [Tue, 5 Feb 2013 21:24:34 +0000 (21:24 +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.

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

11 years agoAdd use_versioned_archname to Configure
David Golden [Wed, 10 Nov 2010 16:15:50 +0000 (11:15 -0500)]
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.

11 years agoRemove EFS escapes in unixify without directory components.
Craig A. Berry [Tue, 5 Feb 2013 13:20:23 +0000 (07:20 -0600)]
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

11 years agoAdd tests and clarify pod for (?[ ])
Karl Williamson [Mon, 4 Feb 2013 21:03:09 +0000 (14:03 -0700)]
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.

11 years agobisect-runner.pl: Reword some pod examples
Karl Williamson [Sat, 2 Feb 2013 19:58:57 +0000 (12:58 -0700)]
bisect-runner.pl: Reword some pod examples

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

11 years agoperldelta.pod: Fix misstatement
Karl Williamson [Mon, 4 Feb 2013 18:46:46 +0000 (11:46 -0700)]
perldelta.pod: Fix misstatement

Spotted by Aaron Crane

11 years agoAdd interpolations to regex sets
Karl Williamson [Sun, 3 Feb 2013 16:29:32 +0000 (09:29 -0700)]
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.

11 years agoIncorporate code review feedback for (?[])
Karl Williamson [Wed, 30 Jan 2013 19:39:51 +0000 (12:39 -0700)]
Incorporate code review feedback for (?[])

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

11 years agoregcomp.c: Slight refactoring for clarity
Karl Williamson [Wed, 30 Jan 2013 16:34:44 +0000 (09:34 -0700)]
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.

11 years agoregcomp.c: Combine duplicated code
Karl Williamson [Wed, 30 Jan 2013 16:26:15 +0000 (09:26 -0700)]
regcomp.c: Combine duplicated code

11 years agoregcomp.c: Extract code into function
Karl Williamson [Wed, 30 Jan 2013 15:29:54 +0000 (08:29 -0700)]
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

11 years agoregcomp.c: Remove useless code
Karl Williamson [Wed, 30 Jan 2013 05:12:21 +0000 (22:12 -0700)]
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.

11 years agoFix syntax: useless use of constant in void context
Alan Haggai Alavi [Sun, 3 Feb 2013 04:47:06 +0000 (10:17 +0530)]
Fix syntax: useless use of constant in void context

11 years agoCorrect word: Window => Windows
Alan Haggai Alavi [Sun, 3 Feb 2013 05:18:01 +0000 (10:48 +0530)]
Correct word: Window => Windows

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

11 years 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 (12:46 +0000)]
Teach makemeta to use CPAN::Meta to generate both META.json and META.yml

11 years agoUpdate Module-Load to CPAN version 0.24
Chris 'BinGOs' Williams [Fri, 1 Feb 2013 21:53:23 +0000 (21:53 +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

11 years agoregexec.c: Remove redundant code
Karl Williamson [Fri, 1 Feb 2013 04:08:09 +0000 (21:08 -0700)]
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.

11 years agoMerge branch 'data-dumper-testing' into blead
James E Keenan [Fri, 1 Feb 2013 02:43:26 +0000 (21:43 -0500)]
Merge branch 'data-dumper-testing' into blead

11 years agoregcomp.c: Expand diagnostic
Karl Williamson [Thu, 31 Jan 2013 16:15:05 +0000 (09:15 -0700)]
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.

11 years agoRemove dead code in Perl_sv_cmp_flags
Steffen Mueller [Thu, 31 Jan 2013 09:58:36 +0000 (10:58 +0100)]
Remove dead code in Perl_sv_cmp_flags

Most certainly compiled away anyway, but still dead.

11 years agoData-Dumper: Boost test coverage and refactor.
James E Keenan [Sun, 20 Jan 2013 00:20:21 +0000 (19:20 -0500)]
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.

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

11 years agoreplace "new in Perl 5" hype with timeless Perl hype
Ricardo Signes [Mon, 28 Jan 2013 03:53:06 +0000 (22:53 -0500)]
replace "new in Perl 5" hype with timeless Perl hype

11 years agopmruntime(): change '=' to '==' in an assertion
David Mitchell [Wed, 30 Jan 2013 16:40:55 +0000 (16:40 +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.

11 years agopmruntime(): rename var to avoid macro name clash
David Mitchell [Wed, 30 Jan 2013 16:37:22 +0000 (16:37 +0000)]
pmruntime(): rename var to avoid macro name clash

[perl #116557]

Apparently MS's WinCE SDK #defines 'leave'. So rename the 'leave' variable
to 'leaveop' to avoid clashes.

11 years agohv.c: add some NULL check removal
bulk88 (via RT) [Mon, 24 Dec 2012 02:20:10 +0000 (18:20 -0800)]
hv.c: add some NULL check removal

The purpose is less machine instructions/faster code.

* S_hv_free_ent_ret() is always called with entry non-null: so change its
  signature to reflect this, and remove a null check;

* Add some SvREFCNT_dec_NNs;

* In hv_clear(), refactor the code slightly to only do a SvREFCNT_dec_NN
within the branch where its already been determined that the arg is
non-null; also, use the _nocontext variant of Perl_croak() to save
a push instruction in threaded perls.

11 years agoUpdate Win32API-File to CPAN version 0.1201
Chris 'BinGOs' Williams [Mon, 28 Jan 2013 19:22:39 +0000 (19:22 +0000)]
Update Win32API-File to CPAN version 0.1201

  [DELTA]

  0.1201 by Alexandr Ciornii 2013-01-28
        - Fix tests on Cygwin (RURBAN)
        - Constants for GetStdHandle and SetStdHandle

11 years agoConvert t/op/sprintf.t to use test.pl
Marcel Gruenauer (via RT) [Tue, 22 Jan 2013 20:02:43 +0000 (12:02 -0800)]
Convert t/op/sprintf.t to use test.pl

[perl #116513]

11 years agoPorting/Maintainers.pm: deterministic output order
Marcel Gruenauer (via RT) [Tue, 22 Jan 2013 20:02:39 +0000 (12:02 -0800)]
Porting/Maintainers.pm: deterministic output order

[perl #116509]

Change Porting/Maintainers.pm to output tests in the same order each
time t/porting/maintainers.t is run.

Before, it was difficult to see whether editing t/porting/maintainers.t
didn't have any adverse effects. The random output order could be seen
with

    diff <(./perl t/porting/maintainers.t) <(./perl t/porting/maintainers.t)

Also set Porting/Maintainers.pm version to 0.09.

11 years agoUpdate Pod-Perldoc to CPAN version 3.19
Chris 'BinGOs' Williams [Mon, 28 Jan 2013 11:15:47 +0000 (11:15 +0000)]
Update Pod-Perldoc to CPAN version 3.19

  [DELTA]

  3.19 - Mon Jan 28 04:29:40 UTC 2013
    * Really put perldoc.pod into man1

  3.18 - Mon Jan 28 04:17:26 UTC 2013
    * Document perldoc behavior in build directories (RT #80376)
    * Don't blindly force UTF8 to Pod::Man (RT #77465)
    * Fix is_dos typo (RT #76029)
    * Put perldoc.pod into man1 RT #77210 (ppisar@redhat.com)
    * Remove formatting from literal blocks RT #77209 (ppisar@redhat.com)

11 years agoLet Configure honor the external MAILDOMAIN environment variable, if set.
H.Merijn Brand [Mon, 28 Jan 2013 07:55:53 +0000 (08:55 +0100)]
Let Configure honor the external MAILDOMAIN environment variable, if set.

11 years agoBelated Happy New Year!
James E Keenan [Sun, 27 Jan 2013 23:55:42 +0000 (18:55 -0500)]
Belated Happy New Year!

11 years agoFix podcheck errors in perldelta
Chris 'BinGOs' Williams [Sun, 27 Jan 2013 21:40:37 +0000 (21:40 +0000)]
Fix podcheck errors in perldelta

11 years agoDocument module and utility deprecations in perldelta
Chris 'BinGOs' Williams [Sun, 27 Jan 2013 21:23:35 +0000 (21:23 +0000)]
Document module and utility deprecations in perldelta

11 years agoAdd module deprecations for v5.18.0 to Module::CoreList
Chris 'BinGOs' Williams [Sun, 27 Jan 2013 15:24:43 +0000 (15:24 +0000)]
Add module deprecations for v5.18.0 to Module::CoreList

11 years agoNew TODO test: B::Deparse doesn't handle lexical subs
Aaron Crane [Sun, 27 Jan 2013 10:56:14 +0000 (10:56 +0000)]
New TODO test: B::Deparse doesn't handle lexical subs

See RT #116553.

11 years agoFix installman ignoring --silent
Dagfinn Ilmari Mannsåker [Sat, 26 Jan 2013 17:01:25 +0000 (17:01 +0000)]
Fix installman ignoring --silent

11 years agoUpdate Archive-Extract to CPAN version 0.64
Chris 'BinGOs' Williams [Sun, 27 Jan 2013 01:04:28 +0000 (01:04 +0000)]
Update Archive-Extract to CPAN version 0.64

  [DELTA]

  Changes for 0.64    Sat Jan 26 21:07:03 2013
  ============================================
  * Add deprecation usage to warn if the
    module is loaded from corelib.
    Archive::Extract is leaving core with
    v5.20.0, but will remain available from
    CPAN.