platform/upstream/perl.git
10 years agoperlapi: Clarify NUL handling for 2 fcns; nits
Karl Williamson [Wed, 23 Apr 2014 19:51:48 +0000 (13:51 -0600)]
perlapi: Clarify NUL handling for 2 fcns; nits

The string input to these two functions must be NUL terminated when the
length parameter is 0.

10 years agoRMG - Note that the release announcement's web link will be in the email headers
Steve Hay [Wed, 23 Apr 2014 19:10:43 +0000 (20:10 +0100)]
RMG - Note that the release announcement's web link will be in the email headers

Thanks to Smylers <Smylers@stripey.com> for this revelation!
http://nntp.perl.org/group/perl.perl5.porters/214662

10 years ago[perl #121662] use a more stringent check for -DPERL_DISABLE_PMC
Tony Cook [Wed, 23 Apr 2014 05:23:43 +0000 (15:23 +1000)]
[perl #121662] use a more stringent check for -DPERL_DISABLE_PMC

which Tom produced updated patch for, but then I grabbed the wrong
patch.

10 years agoMake the test suite pass with -DPERL_DISABLE_PMC
Tom Hukins [Mon, 14 Apr 2014 17:38:46 +0000 (18:38 +0100)]
Make the test suite pass with -DPERL_DISABLE_PMC

Commit 9fdd5a7ac74817cfaab6 introduced new tests that fail when building
perl without PMC support.  In such cases, skip these new tests.

10 years agoAvoid double quotes in switchM.t runperl args.
Craig A. Berry [Wed, 16 Apr 2014 00:30:26 +0000 (19:30 -0500)]
Avoid double quotes in switchM.t runperl args.

The new tests added in 9fdd5a7ac74817 were sending runperl a -e
command with double quotes around it, which confuses matters on
VMS where arguments get double quotes added unless they already
have them.  The solution is simple: just use the 'prog' parameter
to runperl and let runperl handle the quoting.

10 years agoperldiag: Clarify non-char warning
Karl Williamson [Wed, 23 Apr 2014 00:31:11 +0000 (18:31 -0600)]
perldiag: Clarify non-char warning

What to do in this situation is currently subject to ticket
[perl #121226],  This more clearly documents what happens now.

10 years ago[perl #121681] fix documentation of delete at the end of an array
Anno Siegel [Mon, 21 Apr 2014 00:16:07 +0000 (10:16 +1000)]
[perl #121681] fix documentation of delete at the end of an array

10 years agoPrepare Module::CoreList for 5.19.12 (not that it's expected to exist...)
Steve Hay [Sun, 20 Apr 2014 22:51:30 +0000 (23:51 +0100)]
Prepare Module::CoreList for 5.19.12 (not that it's expected to exist...)

10 years agoModule-CoreList 3.10 released to CPAN
Chris 'BinGOs' Williams [Sun, 20 Apr 2014 22:36:56 +0000 (23:36 +0100)]
Module-CoreList 3.10 released to CPAN

10 years agoAdd 5.19.11 epigraph
Steve Hay [Sun, 20 Apr 2014 22:14:22 +0000 (23:14 +0100)]
Add 5.19.11 epigraph

10 years agoBump version for 5.19.12 (not that it's expected to exist...)
Steve Hay [Sun, 20 Apr 2014 16:37:26 +0000 (17:37 +0100)]
Bump version for 5.19.12 (not that it's expected to exist...)

10 years agoCreate new perldelta for 5.19.12 (not that it's expected to exist...)
Steve Hay [Sun, 20 Apr 2014 16:27:29 +0000 (17:27 +0100)]
Create new perldelta for 5.19.12 (not that it's expected to exist...)

10 years agoUpdate Porting/Maintainers.pl - ExtUtils::Install was updated by 68659711db
Steve Hay [Sun, 20 Apr 2014 10:29:44 +0000 (11:29 +0100)]
Update Porting/Maintainers.pl - ExtUtils::Install was updated by 68659711db

10 years agoUpdate perlhist
Steve Hay [Sun, 20 Apr 2014 10:11:52 +0000 (11:11 +0100)]
Update perlhist

10 years agoFinalize perldelta
Steve Hay [Sun, 20 Apr 2014 10:09:00 +0000 (11:09 +0100)]
Finalize perldelta

10 years agoUpdate Module::CoreList for 5.19.11
Steve Hay [Sun, 20 Apr 2014 09:50:07 +0000 (10:50 +0100)]
Update Module::CoreList for 5.19.11

10 years agoperldelta - Fill in the last remaining "todo"
Steve Hay [Sat, 19 Apr 2014 13:55:39 +0000 (14:55 +0100)]
perldelta - Fill in the last remaining "todo"

10 years agoUpgrade CPAN from version 2.05-TRIAL2 to 2.05
Steve Hay [Fri, 18 Apr 2014 17:05:09 +0000 (18:05 +0100)]
Upgrade CPAN from version 2.05-TRIAL2 to 2.05

10 years agoperldelta - Update, remove boilerplates, and do some copy-editing
Steve Hay [Fri, 18 Apr 2014 12:36:52 +0000 (13:36 +0100)]
perldelta - Update, remove boilerplates, and do some copy-editing

Also update the template for utilities: a =head3 doesn't look right
directly under a =head1 so make it a =head2 instead.

10 years agoFill in perldelta for CPAN upgrade in commit 45a1388464
Steve Hay [Fri, 18 Apr 2014 11:06:27 +0000 (12:06 +0100)]
Fill in perldelta for CPAN upgrade in commit 45a1388464

Also record that that commit actually upgraded CPAN to 2.05-TRIAL2, not
2.05-TRIAL.

10 years agoperldelta for perlbug changes.
Craig A. Berry [Thu, 17 Apr 2014 22:37:59 +0000 (17:37 -0500)]
perldelta for perlbug changes.

10 years agoUpdate the other version number in ExtUtils::Install
Chris 'BinGOs' Williams [Thu, 17 Apr 2014 19:13:29 +0000 (20:13 +0100)]
Update the other version number in ExtUtils::Install

10 years agoperldelta for b51c3e77db (VMS glob changes).
Craig A. Berry [Thu, 17 Apr 2014 14:54:53 +0000 (09:54 -0500)]
perldelta for b51c3e77db (VMS glob changes).

10 years agoExtUtils-Install/t/Install.t: better -w tests
David Mitchell [Thu, 17 Apr 2014 11:24:53 +0000 (12:24 +0100)]
ExtUtils-Install/t/Install.t: better -w tests

I recently added some tests to Install.t to check that files weren't
writeable. I used "-w $file", which gives a false positive if run as
root. So this commit changes the test to do a stat then test (mode & 0200);
hopefully that emulation on non-POSIX platforms is good enough for this to
be a valid test. perlport makes no mention of what stat->mode contains
on non-POSIX platforms.

(Chris fixed this this with 84d7dacc0cf1f by skipping the test if running
as root, but the current commit is more robust, in that is still tests for
correctness under root.)

10 years agoperldelta - Consistent perl bug formatting
Steve Hay [Thu, 17 Apr 2014 07:29:26 +0000 (08:29 +0100)]
perldelta - Consistent perl bug formatting

"[perl #1234]" is used as footnotes to text, but "perl #1234" reads better
in the body of the text.

10 years agoperldelta - Mention a bug number
Steve Hay [Wed, 16 Apr 2014 16:47:24 +0000 (17:47 +0100)]
perldelta - Mention a bug number

10 years agoperldelta - Use canonical perl bug URL throughout for consistency
Steve Hay [Wed, 16 Apr 2014 16:45:12 +0000 (17:45 +0100)]
perldelta - Use canonical perl bug URL throughout for consistency

10 years agoperldelta - Note a known problem with some MinGW builds on Windows
Steve Hay [Wed, 16 Apr 2014 16:43:29 +0000 (17:43 +0100)]
perldelta - Note a known problem with some MinGW builds on Windows

This came up on [perl #121643].

10 years agoSkip writable tests in ExtUtils-Install when root
Chris 'BinGOs' Williams [Tue, 15 Apr 2014 20:53:56 +0000 (21:53 +0100)]
Skip writable tests in ExtUtils-Install when root

Bump ExtUtils::Install to 1.66

10 years agoimport experimental.pm
Ricardo Signes [Sat, 12 Apr 2014 00:49:42 +0000 (20:49 -0400)]
import experimental.pm

10 years agoExtUtils::Install was upgraded to 1.65 by 9345802d17
Steve Hay [Tue, 15 Apr 2014 19:55:26 +0000 (20:55 +0100)]
ExtUtils::Install was upgraded to 1.65 by 9345802d17

10 years agoUpgrade Win32 from version 0.48 to 0.49
Steve Hay [Tue, 15 Apr 2014 19:54:01 +0000 (20:54 +0100)]
Upgrade Win32 from version 0.48 to 0.49

This fixes the build with gcc-4.8.1 from http://www.mingw.org and thus
resolves perl #121643.

10 years agoperldelta for 78beb4ca6d
Tony Cook [Tue, 15 Apr 2014 00:14:39 +0000 (10:14 +1000)]
perldelta for 78beb4ca6d

10 years agoperldelta for e141190569
Tony Cook [Mon, 14 Apr 2014 23:15:32 +0000 (09:15 +1000)]
perldelta for e141190569

10 years agoRemove unused variable
Steve Hay [Mon, 14 Apr 2014 22:13:37 +0000 (23:13 +0100)]
Remove unused variable

10 years agoFix DllMain definition to fix building with gcc-4.8.1 from www.mingw.org
Steve Hay [Mon, 14 Apr 2014 20:00:48 +0000 (21:00 +0100)]
Fix DllMain definition to fix building with gcc-4.8.1 from mingw.org

This partly fixes perl #121643.

10 years agoSet Off_t et al correctly for USE_LARGE_FILES builds on Windows
Steve Hay [Mon, 14 Apr 2014 19:59:44 +0000 (20:59 +0100)]
Set Off_t et al correctly for USE_LARGE_FILES builds on Windows

The canned config files used to build miniperl.exe (with some updates
applied by Makefile / makefile.mk) have the non-USE_LARGE_FILES settings
for Off_t, LSEEKSIZE and Off_t_size, resulting in an uninitialized memory
read in win32_fseek() in miniperl.exe, which recently started causing
exetype.pl to write a 4GB wperl.exe during the build of a 64-bit perl.

Change Makefile / makefile.mk to use the correct settings for the build of
miniperl.exe. This fixes perl #121471.

10 years agoBump ExtUtils::Install version to 1.65
Chris 'BinGOs' Williams [Mon, 14 Apr 2014 21:53:13 +0000 (22:53 +0100)]
Bump ExtUtils::Install version to 1.65

10 years agoUpdate perldelta for #121512 (9fdd5a7ac7)
Matthew Horsfall (alh) [Mon, 14 Apr 2014 17:22:04 +0000 (13:22 -0400)]
Update perldelta for #121512 (9fdd5a7ac7)

10 years agoperldelta: add entry for //m fix
David Mitchell [Mon, 14 Apr 2014 15:03:14 +0000 (16:03 +0100)]
perldelta: add entry for //m fix

10 years agorun/locale.t: reindent block
David Mitchell [Mon, 14 Apr 2014 14:31:06 +0000 (15:31 +0100)]
run/locale.t: reindent block

Re-indent a block of code after the previous commit added an extra scope.
Whitespace-only change

10 years agorun/locale.t: silence shell warnings
David Mitchell [Mon, 14 Apr 2014 14:26:18 +0000 (15:26 +0100)]
run/locale.t: silence shell warnings

A couple of tests do

    local $ENV{LC_ALL} = "invalid";
    fresh_perl_is(...);

this causes a shell to be invoked with an invalid locale. Some shells
such as bash, become very noisy in this case:

    $ LC_ALL=invalid /bin/sh -c 'echo yes'
    /bin/sh: warning: setlocale: LC_ALL: cannot change locale (invalid): No such file or directory
    yes
    $

Silence these warnings by temporarily closing STDERR. Since the
fresh_perl_is() scripts themselves are run with STDERR set to /dev/null
anyway, this isn't a hardship.

10 years agoperldelta updates
Steve Hay [Mon, 14 Apr 2014 13:08:30 +0000 (14:08 +0100)]
perldelta updates

10 years agoExtUtils::Install handle symbolic and hard links
David Mitchell [Sun, 6 Apr 2014 12:11:36 +0000 (13:11 +0100)]
ExtUtils::Install handle symbolic and hard links

[perl #72028]

When upgrading an already-installed file, ExtUtils::Install could mess up
the permissions of files if the old versions of files were hard or
symbolic links. For example, if the Foo module had been installed as
lib/Foo.pm and for some reason (perhaps due to OS packaging) that file was
hard-linked to other/Foo.pm or replaced with a symbolic link to
other/Foo.pm, then when trying to install a newer release of Foo, the
permissions of the other/Foo.pm file could end up messed up.

This was due to ExtUtils::Install changing the permissions of the old file
before unlinking it; if the file was a link, then the linked file would
get the chmod instead. Since on POSIXy platforms it is the directory
permissions, not the file permissions, that affect whether a file can be
unlinked, the chmod was redundant anyway. So on these platforms, skip the
chmod.

I've also added tests for symlinked and hard-linked files.

10 years ago[perl #120998] avoid caller() crashing on eval '' stack frames
Tony Cook [Tue, 8 Apr 2014 01:12:38 +0000 (11:12 +1000)]
[perl #120998] avoid caller() crashing on eval '' stack frames

Starting from v5.17.3-150-g19bcb54e caller() on an eval frame would
end up calling Perl_sv_grow() with newlen = 0xFFFFFFFF on 32-bit
systems.

This eventually started segfaulting with v5.19.0-442-gcbcb2a1 which
added code to round up allocations to the nearest 0x100, setting
newlen to 0, faulting when sv_setpvn() attempted to copy its source
string into the zero space provided.

10 years agoPerlIO.pm: Make pod :utf8 caution more prominent
Karl Williamson [Thu, 3 Apr 2014 02:45:03 +0000 (20:45 -0600)]
PerlIO.pm: Make pod :utf8 caution more prominent

The :utf8 layer continues to have security issues.  This moves the
warning about that to earlier where it's more likely to be seen, and
makes it stand out more.

10 years agoPOSIX.pod: Nits
Karl Williamson [Wed, 2 Apr 2014 17:22:02 +0000 (11:22 -0600)]
POSIX.pod: Nits

Most of the changes are to add C<> around code snippets, like function
macro and constant names.

There are a couple of grammar changes.

The only sort-of substantive change is that strtod() does respect
setlocale.  Previously it said it *should* respect setlocale.

10 years agoPATCH: [perl #90646] perlop.pod: Clarify & | and ^ binary operations
Karl Williamson [Sat, 22 Mar 2014 18:34:16 +0000 (12:34 -0600)]
PATCH: [perl #90646] perlop.pod: Clarify & | and ^ binary operations

10 years agoinitialise PL_watch_pvx
David Mitchell [Fri, 11 Apr 2014 20:45:02 +0000 (21:45 +0100)]
initialise PL_watch_pvx

This global var is only used in debugging builds, but with
PERL_GLOBAL_STRUCT_PRIVATE builds, it gives valgrind errors. Just
initialise it to NULL.

I was originally trying to replicate smoke failures of
dist/Thread-Queue/t/07_lock.t under PERL_GLOBAL_STRUCT_PRIVATE, and
valgrind complained.

10 years agoAttempt to satisfy CRLF expectations in perlbug on Windows.
Craig A. Berry [Sat, 29 Mar 2014 21:05:28 +0000 (16:05 -0500)]
Attempt to satisfy CRLF expectations in perlbug on Windows.

10 years agoMake perlbug encoding-agnostic in handling prepared reports.
Craig A. Berry [Sat, 29 Mar 2014 20:44:03 +0000 (15:44 -0500)]
Make perlbug encoding-agnostic in handling prepared reports.

Guessing the encoding of a report file prepared ahead of time is
really, well, too much guesswork, plus there are at least a couple
of mistakes in the implementation.  And we weren't even trying to
guess for reports created on-the-fly in an editor, which is a bit
inconsistent.

So handle prepared reports the same way as on-the-fly reports and
attachments, which means all I/O is done using the :raw layer.

This is only "Unicode-aware" in the sense that we're aware there
are a lot of encodings out there and we're trying not to mangle
them in transit by accidental conversion.  We're not doing any
explicit character set conversions and we shouldn't assert in the
MIME headers that we know what character set we're sending because
we don't.

10 years agoUpgrade CPAN from 2.04-TRIAL to 2.05-TRIAL
Steve Hay [Thu, 10 Apr 2014 13:53:00 +0000 (14:53 +0100)]
Upgrade CPAN from 2.04-TRIAL to 2.05-TRIAL

10 years ago-fwrapv is broken prior to gcc-4.3 (googled and patched by Zefram)
H.Merijn Brand [Wed, 9 Apr 2014 10:31:23 +0000 (12:31 +0200)]
-fwrapv is broken prior to gcc-4.3 (googled and patched by Zefram)

10 years agogcc 4.9 by default does some optimizations that break perl (#121505)
H.Merijn Brand [Wed, 9 Apr 2014 09:16:55 +0000 (11:16 +0200)]
gcc 4.9 by default does some optimizations that break perl (#121505)

Patch by Tony Cook

10 years agoPERL_GLOBAL_STRUCT threads issue
David Mitchell [Tue, 8 Apr 2014 22:22:23 +0000 (23:22 +0100)]
PERL_GLOBAL_STRUCT threads issue

A test in op/threads.t roughly equivalent to this:

    use threads;
    sub f {};
    async \&f;

was randomly failing smokes under the combination of PERL_GLOBAL_STRUCT and
ASan.

This is due to the fact that, under PERL_GLOBAL_STRUCT, "global" vars
are actually allocated, and are freed as the very last thing before
exiting (later than perl_destruct()). In the code above, the created
thread is still exeecuting at this point, and so may access those "global"
vars.  ASan can detect that such a var is being accessed after being
freed; in this case due to PL_ppaddr being indexed in call_sv().

This is easily fixed using the PL_veto_cleanup mechanism; don't do those
final frees if there are still threads running.

10 years agoperldelta updates
Steve Hay [Wed, 9 Apr 2014 08:00:54 +0000 (09:00 +0100)]
perldelta updates

10 years agoperldiag - Restore nitpick corrections
Steve Hay [Wed, 9 Apr 2014 07:26:10 +0000 (08:26 +0100)]
perldiag - Restore nitpick corrections

These were corrected in 4a70680af1 but then undone (presumably by
accident) in 727b63796f.

10 years ago[perl #21442] on Win32, skip tests that won't work on FAT when on FAT
Tony Cook [Wed, 9 Apr 2014 05:14:24 +0000 (15:14 +1000)]
[perl #21442] on Win32, skip tests that won't work on FAT when on FAT

FAT doesn't support link() and its access time resolution is only to
the day.

10 years ago[perl #21442] skip link() tests where the filesystem doesn't support them
Tony Cook [Thu, 3 Apr 2014 23:06:51 +0000 (10:06 +1100)]
[perl #21442] skip link() tests where the filesystem doesn't support them

10 years ago[perl #21442] only check link() error codes where link() works
Tony Cook [Thu, 3 Apr 2014 03:11:36 +0000 (14:11 +1100)]
[perl #21442] only check link() error codes where link() works

Skip the tests on non-NTFS.

10 years ago[perl #21442] fix fs.t failures on Win32 FAT drive
bulk88 [Wed, 5 Mar 2014 12:42:21 +0000 (07:42 -0500)]
[perl #21442] fix fs.t failures on Win32 FAT drive

See ticket for details. This commit does not fix all issues in #21442.

10 years agoperldiag: Correct misstatement
Karl Williamson [Wed, 9 Apr 2014 01:20:52 +0000 (19:20 -0600)]
perldiag: Correct misstatement

It's not non-alphabetic characters that are discouraged; its the
characters X where \cX doesn't map to a control that are discouraged

10 years agotighten Storable's recognition of tied SVs
Zefram [Tue, 8 Apr 2014 18:03:59 +0000 (19:03 +0100)]
tighten Storable's recognition of tied SVs

Since commit ff44333e5a9d9dca5272bb166df463607ebd3020, being RMAGICAL
and having tie magic is not sufficient to recognise an SV as tied.
When magic is turned off for mg_set(), the RMAGICAL flag is now left on,
so that vstrings will be recognised as such.  So Storable needs to check
whether the tie magic it sees is actually in effect, by also looking at
the GMAGICAL and SMAGICAL flags.

10 years agospeed up miniperl require on Win32
Daniel Dragan [Sat, 1 Mar 2014 11:20:16 +0000 (06:20 -0500)]
speed up miniperl require on Win32

These 3 optimizations reduce the number of, usually failing, I/O calls
for each "require" for miniperl only. None are appropriate except for
Win32. See #121119 for details.

10 years agonitpicks
SHIRAKATA Kentaro [Mon, 7 Apr 2014 17:53:46 +0000 (02:53 +0900)]
nitpicks

10 years agoMissed perldelta for 437e3a7 (for v5.19.8)
Matthew Horsfall [Wed, 2 Apr 2014 16:02:53 +0000 (12:02 -0400)]
Missed perldelta for 437e3a7 (for v5.19.8)

10 years agoRT-121512 - Allow -I/dir/ with trailing slash to find .pmc files.
Matthew Horsfall (alh) [Mon, 31 Mar 2014 12:25:33 +0000 (08:25 -0400)]
RT-121512 - Allow -I/dir/ with trailing slash to find .pmc files.

6b0bdd7f2041803dc3ec72b53d28052705861967 updated -I to not add a
trailing '/' if one was already present, but failed to update the
length of the resulting SV to account for the lack of another character.
This caused later checks based off of that length to fail (in this case,
seeing if the last 3 characters of the string are .pm).

10 years agobump version on debugger
Ricardo Signes [Mon, 7 Apr 2014 14:49:53 +0000 (10:49 -0400)]
bump version on debugger

10 years agoadd Hiroo Hayashi to AUTHORS
Ricardo Signes [Mon, 7 Apr 2014 14:35:06 +0000 (10:35 -0400)]
add Hiroo Hayashi to AUTHORS

10 years agoproperly reset ReadLine's knowledge of handles after pager
Hiroo Hayashi [Mon, 7 Apr 2014 14:33:17 +0000 (10:33 -0400)]
properly reset ReadLine's knowledge of handles after pager

[perl #121456]

10 years agoSynchronise Carp with CPAN version 1.3301
Chris 'BinGOs' Williams [Mon, 7 Apr 2014 11:13:20 +0000 (12:13 +0100)]
Synchronise Carp with CPAN version 1.3301

10 years agoPorting/acknowledgements.pl - Use correct quotes in perl command-line
Steve Hay [Sun, 6 Apr 2014 20:49:23 +0000 (21:49 +0100)]
Porting/acknowledgements.pl - Use correct quotes in perl command-line

10 years agoFile-Glob/t/basic.t: avoid race condition
David Mitchell [Sun, 6 Apr 2014 19:07:05 +0000 (20:07 +0100)]
File-Glob/t/basic.t: avoid race condition

Test 2 does a glob('*') in the t/ directory, and compares that with the
results of readdir('.'). If we're doing parallel testing, temporary files
and stuff may get created in t/, resulting in a race condition and
occasional random failures.

Fix this by chdir()ing to t/base/ first. The timestamp on this directory
on my system seems to indicate that nothing currently creates tmp files in
that dir, and given that these are basic tests, that's relatively unlikely
to change.

10 years agoCorrect typo in commit b38d7779bd
Steve Hay [Sat, 5 Apr 2014 17:18:43 +0000 (18:18 +0100)]
Correct typo in commit b38d7779bd

10 years agofix documentation of HeUTF8 return value
David Golden [Fri, 4 Apr 2014 16:00:52 +0000 (12:00 -0400)]
fix documentation of HeUTF8 return value

10 years agoperl5182delta typo fixes
Smylers [Wed, 2 Apr 2014 16:06:09 +0000 (17:06 +0100)]
perl5182delta typo fixes

Escaping fix.

Missing full stop added.

10 years agoRMG - Update note about adding new perldelta in BLEAD-FINAL/MAINT releases
Steve Hay [Fri, 4 Apr 2014 07:41:11 +0000 (08:41 +0100)]
RMG - Update note about adding new perldelta in BLEAD-FINAL/MAINT releases

10 years agoAdd pod/perl5182delta.pod
Steve Hay [Fri, 4 Apr 2014 07:39:15 +0000 (08:39 +0100)]
Add pod/perl5182delta.pod

10 years agoutf8: add tests for behavior change in v5.15.6-407-gc710240, and more
Ævar Arnfjörð Bjarmason [Wed, 2 Apr 2014 15:53:18 +0000 (15:53 +0000)]
utf8: add tests for behavior change in v5.15.6-407-gc710240, and more

In v5.15.6-407-gc710240 Father Chrysostomos patched utf8::decode() so it
would call SvPV_force_nolen() on its argument. This meant that calling
utf8::decode() with a non-blessed non-overloaded reference would now
coerce the reference scalar to a string, i.e. before we'd do:

    $ ./perl -Ilib -MDevel::Peek -wle 'use strict; print $]; my $s = shift; my $s_ref = \$s; utf8::decode($s_ref); Dump $s_ref; print $$s_ref' ævar
    5.019011
    SV = IV(0x2579fd8) at 0x2579fe8
      REFCNT = 1
      FLAGS = (PADMY,ROK)
      RV = 0x25c33d8
      SV = PV(0x257ab08) at 0x25c33d8
        REFCNT = 2
        FLAGS = (PADMY,POK,pPOK)
        PV = 0x25a1338 "\303\246var"\0
        CUR = 5
        LEN = 16
    ævar

But after calling SvPV_force_nolen(sv) we'd instead do:

    $ ./perl -Ilib -MDevel::Peek -wle 'use strict; print $]; my $s = shift; my $s_ref = \$s; utf8::decode($s_ref); Dump $s_ref; print $$s_ref' ævar
    5.019011
    SV = PVIV(0x140e4b8) at 0x13e7fe8
      REFCNT = 1
      FLAGS = (PADMY,POK,pPOK)
      IV = 0
      PV = 0x140c578 "SCALAR(0x14313d8)"\0
      CUR = 17
      LEN = 24
    Can't use string ("SCALAR(0x14313d8)") as a SCALAR ref while "strict refs" in use at -e line 1.

I think this is arguably the right thing to do, we wouln't actually utf8
decode the containing scalar so this reveals bugs in code that passed
references to utf8::decode(), what you want is to do this instead:

    $ ./perl -CO -Ilib -MDevel::Peek -wle 'use strict; print $]; my $s = shift; my $s_ref = \$s; utf8::decode($$s_ref); Dump $s_ref; print $$s_ref' ævar
    5.019011
    SV = IV(0x1aa8fd8) at 0x1aa8fe8
      REFCNT = 1
      FLAGS = (PADMY,ROK)
      RV = 0x1af23d8
      SV = PV(0x1aa9b08) at 0x1af23d8
        REFCNT = 2
        FLAGS = (PADMY,POK,pPOK,UTF8)
        PV = 0x1ad0338 "\303\246var"\0 [UTF8 "\x{e6}var"]
        CUR = 5
        LEN = 16
    ævar

However I think we should be more consistent here, e.g. we'll die when
utf8::upgrade() gets passed a reference, but utf8::downgrade() just
passes it through. I'll file a bug for that separately.

10 years agoFix comments and pod that mention 5.20 erroneously
Karl Williamson [Tue, 1 Apr 2014 23:21:48 +0000 (17:21 -0600)]
Fix comments and pod that mention 5.20 erroneously

In certain places in the documentation, "5.20" is no longer applicable.
Also, a message referred to in perldiag got reworded, but our checks did
not catch that perldiag should have been updated.

10 years agoAdjust conflicting documentation about \s vis-à-vis \cK
Thomas Sibley (via RT) [Tue, 1 Apr 2014 21:01:02 +0000 (14:01 -0700)]
Adjust conflicting documentation about \s vis-à-vis \cK

# New Ticket Created by  Thomas Sibley
# Please include the string:  [perl #121558]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=121558 >

See attached patch against blead.

>From 84a704858995060ef78a39372ca7e2572c6141a3 Mon Sep 17 00:00:00 2001
From: Thomas Sibley <tsibley@cpan.org>
Date: Tue, 1 Apr 2014 13:49:26 -0700
Subject: [PATCH] =?UTF-8?q?Adjust=20conflicting=20documentation=20about=20?=
 =?UTF-8?q?\s=20vis-=C3=A0-vis=20\cK?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It makes little sense to say that \s matches \cK unconditionally in the
same sentence as saying it matches \cK conditionally (>= Perl 5.18).

I suppose the intention could have been to specify the full char class
in the documentation from 5.18 onwards while still noting when that
change happened (the introducing commit, d28d802, was only on 5.17+),
but the sentence structure and convention in the rest of the document
suggests otherwise.

10 years agoPATCH: [perl #119499] "$!" with UTF-8 flag
Karl Williamson [Mon, 31 Mar 2014 21:43:51 +0000 (15:43 -0600)]
PATCH: [perl #119499] "$!" with UTF-8 flag

This disables the code that sets the UTF-8 flag when "$!" is UTF-8.
This is being done to get v5.20 out the door, with changes to follow in
v5.21.  See towards the end of the discussion of this ticket.

Unfortunately this change will cause #112208 to no longer be fixed.

10 years agoPATCH: [perl 121317] Gconvert() obeys LC_NUMERIC without "use locale"
Karl Williamson [Mon, 31 Mar 2014 17:07:53 +0000 (11:07 -0600)]
PATCH: [perl 121317] Gconvert() obeys LC_NUMERIC without "use locale"

This reverts part of bc8ec7cc020d0562094a551b280fd3f32bf5eb04.
leaving LC_NUMERIC set to the C locale at start-up.  This allows the
tests for quite a few XS modules to pass, as they (and likely the
modules themselves) are expecting a dot as the decimal point character.
However,such modules remain vulnerable to explicit calls to setlocale()
by the Perl code or other modules,

See the ticket's discussion for ideas on how to fix this better in 5.21
going forward.

I did not add tests because this fix only affects XS code that is not in
the Perl API, and we don't have any infrastructure for testing that.
Building such infrastructure seems to me to be too much for the code
freeze situation we are in, and all this is planned to change very early
in v5.21 anyway.

10 years agoperllocale: Nits
Karl Williamson [Mon, 31 Mar 2014 21:33:01 +0000 (15:33 -0600)]
perllocale: Nits

The hyperlink text looks wrong in html

10 years agoperllocale: Note that $^E acts the same as $!
Karl Williamson [Mon, 31 Mar 2014 20:14:21 +0000 (14:14 -0600)]
perllocale: Note that $^E acts the same as $!

10 years agomg.c: Fix comment typo
Karl Williamson [Mon, 31 Mar 2014 16:09:22 +0000 (10:09 -0600)]
mg.c: Fix comment typo

10 years agomissing word in perl5200delta.pod
David Mitchell [Tue, 1 Apr 2014 14:36:56 +0000 (15:36 +0100)]
missing word in perl5200delta.pod

I missed out "will" in
1ffb44d62eaa2f08535ed009ec13d81bfb7ad840

10 years agoReword Windows makefile comments to explain the "help" logic about USE_MULTI
Steve Hay [Tue, 1 Apr 2014 12:31:10 +0000 (13:31 +0100)]
Reword Windows makefile comments to explain the "help" logic about USE_MULTI

There is logic to auto-enable USE_MULTI if either USE_ITHREADS or USE_IMP_SYS
(which both require USE_MULTI) are enabled, but this is not mentioned in
the comments. Explain it so that users don't get confused when trying to
disable USE_MULTI.

Reported in [perl #121494].

10 years agoStart updating perldelta for 5.19.11
Steve Hay [Sun, 30 Mar 2014 19:59:02 +0000 (20:59 +0100)]
Start updating perldelta for 5.19.11

10 years agoCommit b776cec188 missed these RMG steps when preparing Module::CoreList for 5.19.11
Steve Hay [Sun, 30 Mar 2014 19:27:30 +0000 (20:27 +0100)]
Commit b776cec188 missed these RMG steps when preparing Module::CoreList for 5.19.11

10 years agoperldelta: /\C/ will be an error in 5.24
David Mitchell [Sat, 29 Mar 2014 19:35:37 +0000 (19:35 +0000)]
perldelta: /\C/ will be an error in 5.24

Update the recently added perldelta entry to say that /\C/ will become an
error rather than becoming equal to /./.

10 years agoRMG - refer to BLEAD-POINT/BLEAD-FINAL releases for consistency and clarity
Steve Hay [Fri, 28 Mar 2014 22:05:29 +0000 (22:05 +0000)]
RMG - refer to BLEAD-POINT/BLEAD-FINAL releases for consistency and clarity

10 years agoRMG - note that CPAN module upgrades are subject to code freeze restrictions
Steve Hay [Fri, 28 Mar 2014 21:53:10 +0000 (21:53 +0000)]
RMG - note that CPAN module upgrades are subject to code freeze restrictions

(As confirmed on p5p by RJBS on 24 March 2014.)

10 years agoRMG - we no longer have UPSTREAM => 'undef' in Porting/Maintainers.pl
Steve Hay [Fri, 28 Mar 2014 21:40:49 +0000 (21:40 +0000)]
RMG - we no longer have UPSTREAM => 'undef' in Porting/Maintainers.pl

10 years agoMaintainers.pl synchronised for CPAN release of ExtUtils-Install
Chris 'BinGOs' Williams [Fri, 28 Mar 2014 14:02:51 +0000 (14:02 +0000)]
Maintainers.pl synchronised for CPAN release of ExtUtils-Install

10 years agofix killpg on Win32, to meet posix expectations for killpg
Daniel Dragan [Thu, 27 Mar 2014 07:37:03 +0000 (03:37 -0400)]
fix killpg on Win32, to meet posix expectations for killpg

On Win32 Perls built without PERL_IMPLICIT_SYS, killpg from win32.c was
directly called by Perl_apply, yet killpg's return value had Win32
behavior, not POSIX behavior. Modify killpg token to have same meaning as
PerlProcKillpg/PerlProc_killpg has on PERL_IMPLICIT_SYS builds. Use a
macro rather than create a win32_killpg C function since win32_killpg would
be nothing but a call to win32_kill anyways. win32_kill contains the Win32
to POSIX semantics conversion code. Rename old killpg to my_killpg since
it has no use outside of win32.c. The psuedo-PID code in win32_kill also
played a factor in not writing a separate win32_killpg that calls
my_killpg. This fix is tested by kill0.t passing on
no-PERL_IMPLICIT_SYS builds.

[perl #121230]

10 years agoperlrebackslash, perlreref.pod: White space only
Karl Williamson [Wed, 26 Mar 2014 18:36:54 +0000 (12:36 -0600)]
perlrebackslash, perlreref.pod: White space only

Fit verbatim lines into 79 columns

10 years agoRevert "Add support for test.valgrind parallel testing"
Karl Williamson [Wed, 26 Mar 2014 18:23:33 +0000 (12:23 -0600)]
Revert "Add support for test.valgrind parallel testing"

This reverts commit f0aff2daa44923f600f6e1f2429a2add2214a9d5
"Add support for test.valgrind parallel testing"

This patch was accidentally pushed (by me); it breaks some things.  We
will wait to add this support until after 5.20

10 years agoDeprecate /\C/
David Mitchell [Wed, 26 Mar 2014 12:07:39 +0000 (12:07 +0000)]
Deprecate /\C/

For 5.20, just say its deprecated. We'll add a warning in 5.22
and change its behaviour in 5.24.

10 years ago[perl #121366] avoid using an invalid SvPVX() in Perl_sv_pvn_force_flags
Tony Cook [Wed, 26 Mar 2014 03:31:57 +0000 (14:31 +1100)]
[perl #121366] avoid using an invalid SvPVX() in Perl_sv_pvn_force_flags

This would cause valgrind to complain about:

  vec($Foo, 0, 1) = 1; # for example

when $Foo was undef, since SvPVX()[1] isn't initialized until the SV is
at least a SVt_PV.

[1] well, sv_u.svu_rv, but sv_u is a union, so the same memory is
initialized.  This isn't technically legal from a C point of view,
but pointer types are compatible enough with each other for it to not
be an issue.