This is a live mirror of the Perl 5 development currently hosted at
6 years agomktables: Define PatWS for Unicode versions missing it
Karl Williamson [Fri, 26 Jun 2015 03:56:17 +0000 (21:56 -0600)]
mktables: Define PatWS for Unicode versions missing it

This property is used by Perl in all Unicode releases, so needs to be
present in all releases, but Unicode did not define it in early
releases, though it should have the same short definition in all of
them.  If there is no Unicode data defining it, hard-code the definition
into mktables.

6 years agomktables: Escape literal "{" in regex
Karl Williamson [Fri, 26 Jun 2015 03:38:57 +0000 (21:38 -0600)]
mktables: Escape literal "{" in regex

It's now deprecated if we fail to do so.

6 years agoregen/ Don't confuse simple with multi folds
Karl Williamson [Wed, 24 Jun 2015 18:37:55 +0000 (12:37 -0600)]
regen/ Don't confuse simple with multi folds

On early Unicode releases, this was saying that a character had a simple
fold from above Latin1, whereas it didn't.  This was caused by not
keeping the simple folds separate from the multi-character ones.
The solution is to keep a separate data structure for the simple ones.

6 years agof
Karl Williamson [Wed, 29 Jul 2015 03:42:14 +0000 (21:42 -0600)]

6 years agoHandle Unicode 3.0.1 /i Turkish "i" rules
Karl Williamson [Wed, 24 Jun 2015 17:22:02 +0000 (11:22 -0600)]
Handle Unicode 3.0.1 /i Turkish "i" rules

Actually, there are no special rules for this Unicode release.  All the
4 "i" characters are considered equivalent under /i only in this
release.  (Upper and lowercase dotted and dotless "i").  This
adds special cases that are only compiled in for that release.

6 years agoregen/ Add U+130, +131
Karl Williamson [Wed, 24 Jun 2015 16:22:07 +0000 (10:22 -0600)]
regen/ Add U+130, +131

These will be used in the next commit

6 years agoregen/ Add extra info to debug line
Karl Williamson [Mon, 22 Jun 2015 17:18:48 +0000 (11:18 -0600)]
regen/ Add extra info to debug line

This is currently commented out, but this is helpful during
the times when it is used.

6 years agoregen/ Handle empty lists
Karl Williamson [Mon, 22 Jun 2015 16:46:39 +0000 (10:46 -0600)]
regen/ Handle empty lists

Short circuit the remaining code and return a 0 if the input doesn't
match anything

6 years agolib/locale.t: Fail more gracefully
Karl Williamson [Mon, 22 Jun 2015 16:22:34 +0000 (10:22 -0600)]
lib/locale.t: Fail more gracefully

If a character's name is unknown, say that instead of an unitialized

6 years agomktables: Handle early Unicodes' script names
Karl Williamson [Mon, 22 Jun 2015 16:06:45 +0000 (10:06 -0600)]
mktables: Handle early Unicodes' script names

These were all caps in early releases

6 years agouc(sharp s) is itself in very early Unicode versions
Karl Williamson [Mon, 22 Jun 2015 03:52:58 +0000 (21:52 -0600)]
uc(sharp s) is itself in very early Unicode versions

6 years agoThere are no folds to multiple chars in early Unicode versions
Karl Williamson [Mon, 22 Jun 2015 03:38:32 +0000 (21:38 -0600)]
There are no folds to multiple chars in early Unicode versions

Several places require special handling because of this, notably for the
lowercase Sharp S, but not in Unicodes before 3.0.1

6 years agoUnicode::UCD: Remove dead code
Karl Williamson [Sun, 21 Jun 2015 00:01:14 +0000 (18:01 -0600)]
Unicode::UCD: Remove dead code

Nothing should get executed after a croak.

6 years agoregen/ Generate #defines giving which Unicode version
Karl Williamson [Sat, 20 Jun 2015 23:20:46 +0000 (17:20 -0600)]
regen/ Generate #defines giving which Unicode version

Future commits will want to take different actions depending on which
Unicode version is being used.

6 years agomktables: Calculate \p{Assigned} earlier in build
Karl Williamson [Sat, 20 Jun 2015 22:55:49 +0000 (16:55 -0600)]
mktables: Calculate \p{Assigned} earlier in build

Future commits will want this table earlier than it is currently
calculated.  This commit also changes one place to use this table.

6 years agot/uni/variables.t: Fix nits in comments
Karl Williamson [Sat, 20 Jun 2015 22:26:59 +0000 (16:26 -0600)]
t/uni/variables.t: Fix nits in comments

6 years agomktables: Remove redundant test
Karl Williamson [Sat, 20 Jun 2015 20:59:14 +0000 (14:59 -0600)]
mktables: Remove redundant test

This test is a duplicate of the one that got us to take this branch to
begin with, so is redundant.

6 years agomktables: White-space only
Karl Williamson [Sat, 20 Jun 2015 15:38:45 +0000 (09:38 -0600)]
mktables: White-space only

reindent after removing a surrounding block in the previous commit

6 years agomktables: Move code wrongly inside a block
Karl Williamson [Sat, 20 Jun 2015 15:33:58 +0000 (09:33 -0600)]
mktables: Move code wrongly inside a block

This would fail to be executed only for very early Unicode versions, so
wasn't a visible bug.

6 years agomktables: Add missing /x
Karl Williamson [Sat, 20 Jun 2015 15:23:32 +0000 (09:23 -0600)]
mktables: Add missing /x

Because of this the pattern didn't match what it was expected to match.
But it only showed up if the Unicode version was an early one.

6 years agomktables: Fix off-by-one error
Karl Williamson [Sat, 20 Jun 2015 15:11:01 +0000 (09:11 -0600)]
mktables: Fix off-by-one error

This only affects when compiling an earlier Unicode version.  This
property came along one release earlier than the code thought.

6 years agomktables: Define ok(), needed by a required script.
Karl Williamson [Thu, 2 Jul 2015 04:24:26 +0000 (22:24 -0600)]
mktables: Define ok(), needed by a required script. wants this function to be defined.

6 years agomktables: Don't hard-code number of code points
Karl Williamson [Thu, 2 Jul 2015 04:21:49 +0000 (22:21 -0600)]
mktables: Don't hard-code number of code points

Unicode 1 only had 2**16 code points.  It is simple to fix to have a
varying number.

6 years agoregcomp.c: Rmv useless 'continue'
Karl Williamson [Sat, 6 Jun 2015 03:38:58 +0000 (21:38 -0600)]
regcomp.c: Rmv useless 'continue'

This is the final statement of the short loop.  It does nothing.

6 years agomktables: Remove unused assignment
Karl Williamson [Sat, 6 Jun 2015 03:35:22 +0000 (21:35 -0600)]
mktables: Remove unused assignment

6 years agomktables: White-space only
Karl Williamson [Fri, 5 Jun 2015 17:13:30 +0000 (11:13 -0600)]
mktables: White-space only

Outdent subroutine that doesn't need to be indented

6 years agomktables: Don't assume a decimal number is hex
Karl Williamson [Fri, 5 Jun 2015 05:04:55 +0000 (23:04 -0600)]
mktables: Don't assume a decimal number is hex

This caused invalid data to be generated for early releases of Unicode
for the Lowercase property.

6 years agoAllow Perl to compile and work on Unicode releases without U+1E9E
Karl Williamson [Tue, 19 May 2015 19:25:21 +0000 (13:25 -0600)]
Allow Perl to compile and work on Unicode releases without U+1E9E

U+1E9E LATIN CAPITAL LETTER SHARP S is handled specially by Perl,
because of its relationship to the infamous LATIN SMALL LETTER SHARP S,
which folds to 'ss', being the only character whose code point is < 256
to have a multi char fold, and this creates lots of special cases.

But U+1E9E wasn't in all Unicode releases.  Because Perl is supposed to
work with any release, we need to be able to compile when this character
isn't defined.  In some of those cases we use U+017F (LATIN SMALL LETTER
LONG S instead, which is in all releases.

6 years agoregen/ Skip U+1E9E if not in Unicode version
Karl Williamson [Tue, 19 May 2015 19:31:09 +0000 (13:31 -0600)]
regen/ Skip U+1E9E if not in Unicode version

LATIN CAPITAL LETTER SHARP S is not available in all Unicode releases;
simply skip generating things when it isn't there.

6 years agomktables: Remove wrong warning message
Karl Williamson [Mon, 18 May 2015 19:13:07 +0000 (13:13 -0600)]
mktables: Remove wrong warning message

This warning should not be raised.  The extra parameter it warns about
is an indent that is in fact passed on.

6 years agoregen/ Fix to work under skip_if_undef
Karl Williamson [Wed, 25 Mar 2015 17:23:36 +0000 (11:23 -0600)]
regen/ Fix to work under skip_if_undef

This input flag was not being properly handled.

6 years agoregen/ Move comments around
Karl Williamson [Wed, 25 Mar 2015 17:15:41 +0000 (11:15 -0600)]
regen/ Move comments around

This moves the description of what <DATA> lines should look like to
the __DATA__ line.

6 years agoI64/U64 should be defined regardless of PERL_CORE.
Jarkko Hietaniemi [Tue, 28 Jul 2015 12:43:51 +0000 (08:43 -0400)]
I64/U64 should be defined regardless of PERL_CORE.

Only HAS_QUAD matters.

This is old code, originally by yours truly (6b8eaf93).  I think the
PERL_CORE was to protect the inclusion on <inttypes.h>, but that was
not a very good reason or a method even back then.

6 years agoCarp requires parent 0.217 for -norequire
Ricardo Signes [Tue, 28 Jul 2015 02:30:59 +0000 (22:30 -0400)]
Carp requires parent 0.217 for -norequire

[ #106036]

6 years agoregcomp.c: Add comment
Karl Williamson [Thu, 16 Apr 2015 16:13:37 +0000 (10:13 -0600)]
regcomp.c: Add comment

6 years agoperlvar: discourage $OLD_PERL_VERSION
Aristotle Pagaltzis [Mon, 27 Jul 2015 12:24:21 +0000 (14:24 +0200)]
perlvar: discourage $OLD_PERL_VERSION

6 years agoAttribute-Handlers is of the 0.99 on CPAN
Chris 'BinGOs' Williams [Mon, 27 Jul 2015 06:39:37 +0000 (07:39 +0100)]
Attribute-Handlers is of the 0.99 on CPAN

6 years agoFollow-up to d229247c: use U64TYPE consistently.
Jarkko Hietaniemi [Sun, 26 Jul 2015 01:51:08 +0000 (21:51 -0400)]
Follow-up to d229247c: use U64TYPE consistently.

Why exactly we are using U64TYPE here and not U64, I dunno.  What I do
know is that if U64TYPE is changed to U64 everywhere in hv_func.h,
win32 build dies.  Maybe hv_func.h gets included before the typedef
for U64 in handy.h takes place, and only the U64TYPE define is available.

6 years agoComment detypos.
Jarkko Hietaniemi [Sat, 25 Jul 2015 17:32:25 +0000 (13:32 -0400)]
Comment detypos.

6 years agoUse UINT64_C.
Jarkko Hietaniemi [Wed, 22 Oct 2014 01:41:16 +0000 (21:41 -0400)]
Use UINT64_C.

6 years agoThere's no READ_UINT32.
Jarkko Hietaniemi [Fri, 24 Oct 2014 00:54:33 +0000 (20:54 -0400)]
There's no READ_UINT32.

(relic of some earlier code?)

6 years agoCorrect VS2015's impending CCTYPE
Steve Hay [Sat, 25 Jul 2015 12:41:42 +0000 (13:41 +0100)]
Correct VS2015's impending CCTYPE

VS2013 was version 12.0, so VS2015 would be expected to be 13.0, not 15.0,
so the CCTYPE would be MSVC130, not MSVC150. However, VS2015 (just released
on 20 July) actually installs to somewhere like "C:\Program Files (x86)\
Microsoft Visual Studio 14.0" and sets "VisualStudioVersion=14.0" in the
environment, so they seem to have skipped version 13.0 (superstition?!) and
gone to version 14.0 instead. So our next CCTYPE will be MSVC140.

Unfortunately, it currently doesn't work. Changes to the CRT give linker
problems that are fixed by dropping -nodefaultlib, but changes to the FILE
structure are more of a problem. Tweaks in Makefile and config_sh.PL to
undef d_stdiobase/USE_STDIO_BASE and d_sdtsdtio/USE_STDIO_PTR etc go some
way to help, but there is still trouble compiling perlio.c (which accesses
f->_file in PerlIOStdio_invalidate_fileno) and win32/win32.c (which
accesses (pf)->_flag in win32_fdupopen).

(This commit also changes referencs to version N.x to simply N.0 since they
all are .0 only, except for the .NET 2002/2003 releases, which were 7.0/7.1

6 years agobump version on Attribute::Handlers
Ricardo Signes [Fri, 24 Jul 2015 22:47:03 +0000 (18:47 -0400)]
bump version on Attribute::Handlers

...because of CPAN release to get blead code on CPAN

6 years ago[perl #125541] Fix crash with %::=(); J->${\"::"}
Father Chrysostomos [Mon, 20 Jul 2015 18:23:49 +0000 (11:23 -0700)]
[perl #125541] Fix crash with %::=(); J->${\"::"}

gv_stashpvn does not expect gv_fetchpv to return something that is
not a GV.  If someone has blown away the stash with %::=(), then the
$::{"main::"} entry no longer exists, but gv_fetchpv expects it to be
there.  This patch just makes this case fail somewhat gracefully
instead of crashing:

$  ./miniperl -e '%::=(); J->${\"::"}'
Can't locate object method "" via package "" (perhaps you forgot to load ""?) at -e line 1.

If someone does %::=(), nothing more reasonable should be expected.
At least it does not crash now.

6 years agoDon't skip symbols for defunct -Uuseperlio case.
Craig A. Berry [Sat, 18 Jul 2015 18:01:00 +0000 (13:01 -0500)]
Don't skip symbols for defunct -Uuseperlio case.

Those symbols can and must exist for the -Duseperlio case, which
is the only configuration possible since 5.16.x.

6 years agoRemove PERLIO_IS_STDIO from win32.c and wince.c.
Craig A. Berry [Sat, 18 Jul 2015 13:57:19 +0000 (08:57 -0500)]
Remove PERLIO_IS_STDIO from win32.c and wince.c.

It will never be defined so there's no reason to check that it's
not defined.

6 years agoEvict PERLIO_IS_STDIO from top-level core files.
Craig A. Berry [Fri, 17 Jul 2015 22:53:54 +0000 (17:53 -0500)]
Evict PERLIO_IS_STDIO from top-level core files.

Configuring with perlio has been the only option since dd35fa16610
in 2011, first released in 5.16.0.  Yet we have still have had all
this dead code for stdio support cluttering up the sources and
dulling the machetes of anyone who wants to do further work on
perlio or someone (like me) who just stumbles on some code that
looks like it needs fixing but isn't worth the time since the
compiler will never see it.

Leave a vestigial perlsdio.h since its presence is hard-coded in
a number of places.

6 years agoFind *inline.h differently in args_assert.t.
Craig A. Berry [Thu, 23 Jul 2015 16:45:20 +0000 (11:45 -0500)]
Find *inline.h differently in args_assert.t.

That glob wasn't working right on VMS so the test was failing.
We're already reading through MANIFEST so we might as well just
match what we want from there.

6 years agoFix new warning in t/op/mkdir.t.
Craig A. Berry [Thu, 23 Jul 2015 13:00:55 +0000 (08:00 -0500)]
Fix new warning in t/op/mkdir.t.

Removing a directory that doesn't exist causes a warning, and if
the warning appears before the test preamble, that causes the test
to fail.  So check whether the directory exists before trying to
remove it.

6 years agoFix nit missed in a55c5245146801.
Craig A. Berry [Thu, 23 Jul 2015 02:38:25 +0000 (21:38 -0500)]
Fix nit missed in a55c5245146801.

$(O) not (O) needed for macro reference.

6 years ago[perl #123961] handle a missing closing ` for -DT output
Tony Cook [Thu, 23 Jul 2015 05:34:43 +0000 (15:34 +1000)]
[perl #123961] handle a missing closing ` for -DT output

6 years agoUpdate podcheck db to reflect a fix in perlgit
Karl Williamson [Wed, 22 Jul 2015 16:28:08 +0000 (10:28 -0600)]
Update podcheck db to reflect a fix in perlgit

6 years agoDrop useful-looking but unused lookup table.
Jarkko Hietaniemi [Mon, 20 Jul 2015 08:53:09 +0000 (11:53 +0300)]
Drop useful-looking but unused lookup table.

6 years agoDeclaring static in header is odd (and warnable offense).
Jarkko Hietaniemi [Mon, 20 Jul 2015 09:31:42 +0000 (12:31 +0300)]
Declaring static in header is odd (and warnable offense).

6 years agoConvert pp_sys to use the time64 public interface.
Jarkko Hietaniemi [Mon, 20 Jul 2015 09:31:05 +0000 (12:31 +0300)]
Convert pp_sys to use the time64 public interface.

6 years agoAdd time64 as its own build target.
Jarkko Hietaniemi [Mon, 20 Jul 2015 08:51:47 +0000 (11:51 +0300)]
Add time64 as its own build target.

6 years agodquote_static.c -> dquote.c
Jarkko Hietaniemi [Sun, 19 Jul 2015 13:54:22 +0000 (16:54 +0300)]
dquote_static.c -> dquote.c

Instead of #include-ing the C file, compile it normally.

6 years agostatic inlines from dquote_static.c -> new dquote_inline.h
Jarkko Hietaniemi [Sun, 19 Jul 2015 07:34:24 +0000 (10:34 +0300)]
static inlines from dquote_static.c -> new dquote_inline.h

6 years agoinline_invlist.c -> invlist_inline.h
Jarkko Hietaniemi [Sat, 18 Jul 2015 18:24:47 +0000 (21:24 +0300)]
inline_invlist.c -> invlist_inline.h

6 years agoMake *inline.h behave like *.c
Jarkko Hietaniemi [Tue, 21 Jul 2015 06:49:05 +0000 (09:49 +0300)]
Make *inline.h behave like *.c

6 years agooverload.c ->
Jarkko Hietaniemi [Sat, 18 Jul 2015 14:22:13 +0000 (17:22 +0300)]
overload.c ->

6 years agooverload.[hc] descriptions were swapped
Jarkko Hietaniemi [Sat, 18 Jul 2015 13:53:00 +0000 (16:53 +0300)]
overload.[hc] descriptions were swapped

6 years agopacksizetables.c ->
Jarkko Hietaniemi [Sat, 18 Jul 2015 13:28:46 +0000 (16:28 +0300)]
packsizetables.c ->

6 years agomg_names.c ->
Jarkko Hietaniemi [Fri, 17 Jul 2015 08:46:14 +0000 (11:46 +0300)]
mg_names.c ->

6 years agoMake *.inc behave like *.[hc]
Jarkko Hietaniemi [Fri, 17 Jul 2015 08:55:00 +0000 (11:55 +0300)]
Make *.inc behave like *.[hc]

6 years agoMerge declaration and initialisation of local variable
Dagfinn Ilmari Mannsåker [Thu, 16 Jul 2015 07:08:19 +0000 (08:08 +0100)]
Merge declaration and initialisation of local variable

Commit 2b32fed8 removed the PUTBACK/SPAGAIN around hv_iterval and
Perl_sv_setpvf, but didn't take the opportunity to merge the
initialisation with the declaration now that there's no code between

6 years agocombine PERLDB_LINE and PERLDB_SAVESRC flag tests
Daniel Dragan [Thu, 16 Jul 2015 01:59:58 +0000 (21:59 -0400)]
combine PERLDB_LINE and PERLDB_SAVESRC flag tests

On VC2003 32b -O1, the .text section of miniperl.exe decreased from
0xAEFCD bytes of machine code to 0xAEF9D after this patch.

see also

6 years agoUpdates to Module::CoreList per RMG.
Matthew Horsfall [Tue, 21 Jul 2015 12:10:01 +0000 (08:10 -0400)]
Updates to Module::CoreList per RMG.

6 years agoRMG - Manually adding perldelta for Module::CoreList isn't needed
Matthew Horsfall [Tue, 21 Jul 2015 11:53:58 +0000 (07:53 -0400)]
RMG - Manually adding perldelta for Module::CoreList isn't needed

6 years agoperlgit: minor copyedits
Aristotle Pagaltzis [Tue, 21 Jul 2015 10:24:36 +0000 (12:24 +0200)]
perlgit: minor copyedits

6 years agoperlgit: standardize verbatims to 2-space indent
Aristotle Pagaltzis [Tue, 21 Jul 2015 10:23:55 +0000 (12:23 +0200)]
perlgit: standardize verbatims to 2-space indent

6 years agoperlgit: demote old-git remote branch procedure
Aristotle Pagaltzis [Tue, 21 Jul 2015 10:22:40 +0000 (12:22 +0200)]
perlgit: demote old-git remote branch procedure

6 years agoUpdate Porting/release_announcement_template.txt for new year/version
Matthew Horsfall [Mon, 20 Jul 2015 20:31:53 +0000 (16:31 -0400)]
Update Porting/release_announcement_template.txt for new year/version

6 years agoAdd Module::CoreList stubs for v5.23.2
Matthew Horsfall [Mon, 20 Jul 2015 20:18:32 +0000 (16:18 -0400)]
Add Module::CoreList stubs for v5.23.2

6 years agoBump version to 5.23.2
Matthew Horsfall [Mon, 20 Jul 2015 20:03:51 +0000 (16:03 -0400)]
Bump version to 5.23.2

6 years agoRun Porting/ for v5.23.2
Matthew Horsfall [Mon, 20 Jul 2015 19:56:02 +0000 (15:56 -0400)]
Run Porting/ for v5.23.2

6 years agoUpdate release_schedule.pod to note completed releases.
Matthew Horsfall [Mon, 20 Jul 2015 19:55:48 +0000 (15:55 -0400)]
Update release_schedule.pod to note completed releases.

6 years agoUpdate epigraphs for 5.23.0/5.23.1
Matthew Horsfall [Mon, 20 Jul 2015 19:47:55 +0000 (15:47 -0400)]
Update epigraphs for 5.23.0/5.23.1

6 years agoAdd new release to perlhist v5.23.1
Matthew Horsfall [Mon, 20 Jul 2015 18:56:52 +0000 (14:56 -0400)]
Add new release to perlhist

6 years agoFinalize perldelta for 5.23.1
Matthew Horsfall [Mon, 20 Jul 2015 18:50:22 +0000 (14:50 -0400)]
Finalize perldelta for 5.23.1

6 years agoUpdate Module::CoreList for 5.23.1
Matthew Horsfall [Mon, 20 Jul 2015 18:21:09 +0000 (14:21 -0400)]
Update Module::CoreList for 5.23.1

6 years agoRMG: Note that Porting/ requires -Ilib to run
Matthew Horsfall [Mon, 20 Jul 2015 18:20:47 +0000 (14:20 -0400)]
RMG: Note that Porting/ requires -Ilib to run

6 years agoUpdate INSTALL versions for 5.23.1
Matthew Horsfall [Mon, 20 Jul 2015 17:53:57 +0000 (13:53 -0400)]
Update INSTALL versions for 5.23.1

6 years agoInitial perldelta updates for 5.23.1
Matthew Horsfall [Mon, 20 Jul 2015 17:25:41 +0000 (13:25 -0400)]
Initial perldelta updates for 5.23.1

6 years agoUpdate File::Path entry in Porting/
Steve Hay [Mon, 20 Jul 2015 07:22:18 +0000 (08:22 +0100)]
Update File::Path entry in Porting/

t/pod.t no longer exists on CPAN, and the MAP is no longer required

6 years agoMake a common IGNORABLE file
Steve Hay [Mon, 20 Jul 2015 07:20:29 +0000 (08:20 +0100)]
Make a common IGNORABLE file

6 years agobump $DynaLoader::VERSION to 1.33
Tony Cook [Mon, 20 Jul 2015 06:02:00 +0000 (16:02 +1000)]
bump $DynaLoader::VERSION to 1.33

6 years agoReplace reference to newXSUB with newXS.
Matthew Horsfall (alh) [Thu, 29 Aug 2013 12:41:06 +0000 (08:41 -0400)]
Replace reference to newXSUB with newXS.

newXSUB hasn't been around for a long time

6 years agofactor out an %ENV assignment from
Daniel Dragan [Tue, 20 Jan 2015 06:25:26 +0000 (01:25 -0500)]
factor out an %ENV assignment from

nytprof using full (not mini) Win32 perl reported 44 calls on line
"$ENV{PERL_CORE} = 1;" at 623 us spent on line for --dynamic

Move the env var setting out from build_extension() to before the foreach
loop starts.

6 years agoFix test that fails with new warny File::Path
Chris 'BinGOs' Williams [Sun, 19 Jul 2015 11:28:00 +0000 (12:28 +0100)]
Fix test that fails with new warny File::Path

6 years agoUpdate File-Path to CPAN version 2.11
Chris 'BinGOs' Williams [Sun, 19 Jul 2015 11:06:09 +0000 (12:06 +0100)]
Update File-Path to CPAN version 2.11


2.11     2015-07-17
    - Change argument check error from croak to carp since there are some
      dependent modules using non-standard options.  The error check will
      move back to croak when dependent modules have the opportunity to
      correct the argument.

2.10_005 2015-07-17
    - Better argument checking and reporting of failure for unrecognized
    - RT 71562 Document automount race condition limitation and workaround
    - RT 99230 Document multithreaded application limitation and that the
      limitation may be removed in a future release.

2.10_004 2015-07-10
    - Remove use of since it breaks many older Perls
    - Fix a unit test skip count for users who have not installed

2.10_003 2015-07-08
    - Administrative changes to MANIFEST and MANIFEST.SKIP
    - Style changes to for easier reading of code
    - Removal of pod.t
    - Use to make variables like $! more fluent for code readers

2.10_002 2015-06-26
    - RT 42139.  Add better SKIP test emit for VMS.
    - RT 85360.  Fix typos and better .gitignore and MANIFEST.SKIP settings.
    - RT 51588.  Added patch elements but unable to verify on VMS.

2.10_001 2015-06-24
    - RT 39949.  Report errors on lstat failure.
    - RT 53178.  Deprecate UNIVERSAL::isa usage
    - RT 70657.  Test added.
    - RT 70938.  Documentation fix for Windows native relative usage
    - RT 72256.  Option added for setting permission (chmod)
    - RT 73840.  Fix taint/untaint bug.
    - RT 95150.  Add CPAN metadata for source tree location.
    - RT 103512. Documentation language fix.

6 years agoUpdate libnet to CPAN version 3.07
Chris 'BinGOs' Williams [Sun, 19 Jul 2015 11:01:48 +0000 (12:01 +0100)]
Update libnet to CPAN version 3.07


3.07 2015-07-17

    - Net::FTP::rmdir() has been made more robust by making use of the MLSD
      command in addition to the NLST command since the latter is known not to
      be processed correctly by some FTP servers.

      [Chris Lindee, CPAN RT#100694]

    - Net::FTP, Net::NNTP, Net::POP3 and Net::SMTP can now restrict domain to
      IPv4 even if IPv6 is available by using the new Domain or Family argument.

      Net::NNTP now supports the LocalPort argument in addition to LocalAddr.

      Net::POP3 now supports the LocalAddr and LocalPort arguments in addition
      to ResvPort (which is retained for backwards compatibility).

      [Steffen Ullrich, PR#18]

    - Fixed a bug in Net::Cmd::datasend() which caused octets in [\x80-\xFF]
      stored in a "binary string" to be replaced with their UTF-8 encodings if
      the string happened to be stored internally in an "upgraded" state (i.e.
      with the UTF-8 flag on).  (As noted below, strings passed to datasend()
      should always be encoded first, and therefore not stored in such a state
      anyway, but it is all too easy for perl to change this internal state
      unless the encodeing is done at the very last minute before calling
      datasend(), so it helps if datasend() plays more nicely in this case.  In
      particular, it was wrong of datasend() to treat upgraded and downgraded
      strings differently when their contents were identical at the Perl level.)

      This bugfix results in a breaking change to the case of a "text string"
      with characters in U+0080..U+00FF stored internally in an upgraded state
      since those characters are likewise no longer encoded to UTF-8 by
      datasend(), but callers of datasend() should not have been relying on this
      behaviour anyway: In general, datasend() has no idea what encoding is
      required for output so callers should always encode the data to be output
      to whatever encoding is required first.  This has now been clarified in
      the documentation.

      Finally, a text string with characters >= U+0100 will now cause a "Wide
      character in print" warning from datasend() since such characters cannot
      be output as bytes and datasend() no longer encodes to UTF-8.  In this
      case, UTF-8 bytes will still be output as before since that happens to be
      the internal representation of such characters, but the warning is new.
      Callers should heed this warning and encode such strings to whatever
      encoding is required before calling datasend(), as noted above.

      [Ricardo Signes, CPAN RT#104433]

6 years agoupdate changelog for Attribute-Handlers as of perl 5.22
Ricardo Signes [Fri, 17 Jul 2015 15:17:23 +0000 (11:17 -0400)]
update changelog for Attribute-Handlers as of perl 5.22

6 years agoperldelta tweaks on the shift.
Jarkko Hietaniemi [Fri, 17 Jul 2015 08:12:42 +0000 (11:12 +0300)]
perldelta tweaks on the shift.

6 years agoFix thinko in perlsdio.h.
Craig A. Berry [Thu, 16 Jul 2015 11:34:42 +0000 (06:34 -0500)]
Fix thinko in perlsdio.h.

In 04ce8649990 I inadvertently created conflicting definitions for
PerlIO_ungetc on the non-VMS branch of an #ifdef.  This broke a
NetWare build that was still based on the stdio layer.  See
<>.  Even
though stdio is no longer supported, we really ought to ship
something that compiles up until the point where we remove it,
which will hopefully be soon for perlsdio.h.

N.B.  This commit is not sufficient to get stdio as the base
layer working again.  Notably XS::APITest is broken for unrelated

6 years agoperldelta for recent printf changes
Aaron Crane [Wed, 8 Jul 2015 11:55:18 +0000 (12:55 +0100)]
perldelta for recent printf changes

6 years agoDocument and ensure that sv_catpvf() does no argument ordering
Aaron Crane [Tue, 7 Jul 2015 17:16:36 +0000 (18:16 +0100)]
Document and ensure that sv_catpvf() does no argument ordering

sv_catpvf() and friends ultimately end up calling sv_vcatpvfn_flags() with a
C-style va_list argument (rather than with an array of SV pointers). When
the sprintf implementation in sv_vcatpvfn_flags() is called with a va_list
it always ignores any attempt by the format string to reorder the arguments.
This reasonable limitation is now documented, and the implementation throws
an exception when it encounters this situation.

Minimal tests for these exceptions have been added to XS::APItest.

6 years agoSupport reordered precision arguments in (s)printf
Aaron Crane [Tue, 7 Jul 2015 16:12:26 +0000 (17:12 +0100)]
Support reordered precision arguments in (s)printf

The printf builtins gained support for argument reordering in October 2000,
in eb3fce905f8436bbc374998ec8c7c34ce2b73e4e, as part of the 5.7.x blead
release cycle. However, a simple typo meant that it never worked: the
initial implementation stored the argument index in the variable "ewix"
(explicit width-argument index) instead of "epix" (for "precision").

The bug was noticed in July 2002, two days before the 5.8.0 release, so
fixing it at that stage was deemed riskier than documenting it. The commit in
question is 7b8dd722af72d0ca45650fb784c09763c0732e34, which was originally
posted as .

For whatever reason, the obvious fix was never subsequently applied. This
commit remedies that, and extends it to also skip all redundant-argument
warnings when the precision is supplied with via an explicit index.

6 years agosv_vcatpvfn_flags(): make warnings more precise
Aaron Crane [Mon, 29 Jun 2015 15:35:11 +0000 (16:35 +0100)]
sv_vcatpvfn_flags(): make warnings more precise

- RT#125469 points out that no "redundant argument" warning should be emitted
  for code like C<< printf '<%*2$s>', "a", 6 >>; that's now fixed.

- We no longer emit a "missing argument" warning for invalid format strings,
  so C<< printf '%4$K %d', 17 >> now emits one "invalid" warning, and no
  other warnings. (Perl 5.12 and subsequent versions have inappropriately
  emitted a "missing argument" warning in this case.)

- We no longer treat the invalid format string in C<< printf '%1$$d', 17 >>
  as containing an explicit index, so (a) we emit an "invalid" warning for
  the double "$", and (b) we emit a "redundant argument" warning for the
  trailing argument. The "redundant argument" warning is new in this

6 years agot/op/sprintf.t: include test comment in "ok" output, where available
Aaron Crane [Mon, 29 Jun 2015 15:34:45 +0000 (16:34 +0100)]
t/op/sprintf.t: include test comment in "ok" output, where available