2 years agoAdd perldelta entry for new version of Module::CoreList v5.15.6
Dave Rolsky [Tue, 20 Dec 2011 17:23:36 +0000]
Add perldelta entry for new version of Module::CoreList

2 years agoFix version of Module::CoreList in 5.15.6
Dave Rolsky [Tue, 20 Dec 2011 17:22:05 +0000]
Fix version of Module::CoreList in 5.15.6

2 years agoAdd Changes entry for Module::CoreList
Dave Rolsky [Tue, 20 Dec 2011 17:19:58 +0000]
Add Changes entry for Module::CoreList

2 years agoAdd 5.15.6 release date to perlhist
Dave Rolsky [Tue, 20 Dec 2011 02:00:14 +0000]
Add 5.15.6 release date to perlhist

2 years agoUpdated Module::CoreList for 5.15.6 - including $VERSION bump
Dave Rolsky [Tue, 20 Dec 2011 01:52:11 +0000]
Updated Module::CoreList for 5.15.6 - including $VERSION bump

2 years agoBump the perl version in various places for 5.15.6
Dave Rolsky [Mon, 19 Dec 2011 22:57:48 +0000]
Bump the perl version in various places for 5.15.6

2 years agoFinal pass through perldelta
Dave Rolsky [Mon, 19 Dec 2011 22:44:01 +0000]
Final pass through perldelta

- copy edited for clarity & typos
- standardized on two spaces after a period
- detabified
- ran it through a spellchecker
- ran it through podtidy one last time

2 years agoRemove an XXX note - questions resolved
Dave Rolsky [Mon, 19 Dec 2011 21:55:54 +0000]
Remove an XXX note - questions resolved

2 years agoThe POSIX TCSANOW appears to have been introduced in 5.15.3
Dave Rolsky [Mon, 19 Dec 2011 21:51:38 +0000]
The POSIX TCSANOW appears to have been introduced in 5.15.3

2 years agoNot going to document 43d9ecf either
Dave Rolsky [Mon, 19 Dec 2011 21:47:15 +0000]
Not going to document 43d9ecf either

2 years agoNot going to document f300909 in perldelta
Dave Rolsky [Mon, 19 Dec 2011 21:46:26 +0000]
Not going to document f300909 in perldelta

2 years agoPerldelta for b0f2e9e - buildtoc fixes
Dave Rolsky [Mon, 19 Dec 2011 21:46:09 +0000]
Perldelta for b0f2e9e - buildtoc fixes

2 years agoSmall pod fix - s/build/built/
Dave Rolsky [Mon, 19 Dec 2011 21:38:10 +0000]
Small pod fix - s/build/built/

2 years agoClean up perldelta.pod for release
Dave Rolsky [Mon, 19 Dec 2011 21:36:10 +0000]
Clean up perldelta.pod for release

- Removed all the empty sections
- Ran it through podtidy

Still need to resolve some open questions/missing changes and run it through a
spellchecker.

2 years agoSync Maintainers.pl with teh CPAN
Chris 'BinGOs' Williams [Mon, 19 Dec 2011 19:15:39 +0000]
Sync Maintainers.pl with teh CPAN

2 years agoSelfLoader: Version bump to match CPAN release
Steffen Mueller [Mon, 19 Dec 2011 19:05:43 +0000]
SelfLoader: Version bump to match CPAN release

2 years agoExtUtils::ParseXS: Version bump and changelog for CPAN release
Steffen Mueller [Mon, 19 Dec 2011 17:05:24 +0000]
ExtUtils::ParseXS: Version bump and changelog for CPAN release

2 years agoRestructure the heredocs in perlmodlib.PL so the file as-is is valid Pod.
Nicholas Clark [Mon, 19 Dec 2011 15:25:44 +0000]
Restructure the heredocs in perlmodlib.PL so the file as-is is valid Pod.

Using =cut as the heredoc terminator makes the whole file parse as
(reasonably) sane Pod as-is to anything that attempts to brute-force treat
it as such. The content is already useful - this just makes it tidier, by
stopping anything doing this mistaking the rest of the Perl code for Pod.

2 years agoAdd autodoc.pl to the 'no_index' section of META.yml
Nicholas Clark [Mon, 19 Dec 2011 14:07:00 +0000]
Add autodoc.pl to the 'no_index' section of META.yml

This stops search.cpan.org mistaking its stub contents for the (full,
generated) perlapi manpage.

2 years agoMerge installman and pod/buildtoc improvements to blead.
Nicholas Clark [Mon, 19 Dec 2011 13:09:40 +0000]
Merge installman and pod/buildtoc improvements to blead.

2 years agoNote the user-visible installman changes in perldelta.
Nicholas Clark [Mon, 19 Dec 2011 09:21:28 +0000]
Note the user-visible installman changes in perldelta.

2 years agoSome pod_lib.pl cleanups.
Nicholas Clark [Mon, 19 Dec 2011 07:14:23 +0000]
Some pod_lib.pl cleanups.

Eliminate the file-scoped lexical %Readmepods. Use slurp_or_die() instead of
coding it longhand.

2 years agoinstallman should use the data in pod.lst to track dual-life pods in lib/
Nicholas Clark [Sun, 18 Dec 2011 19:13:11 +0000]
installman should use the data in pod.lst to track dual-life pods in lib/

This ensures that perlfaq*, perlglossary, perlxs, perlxstut and perldoc's
man pages are installed in man1, not man3, along with any future dual-life
pods. This is an improvement on commit 0beff067932254cd which only dealt with
perlfaq* and perlglossary, and had the unfortunate side effect of also
causing these 11 files to be installed to bin/

2 years agoVarious installman cleanups.
Nicholas Clark [Fri, 16 Dec 2011 15:47:40 +0000]
Various installman cleanups.

Eliminate the C<use File::Copy> and various $Is_* vars, unneeded since
commit 9e6fc21fcd859351 moved the code that uses them into install_lib.pl
Move the filename-based skip code into the callback for File::Find::find(),
as this saves ever storing them in %$modpods.
Eliminate @to_process, which has been mostly redundant since commit
a274383458745101, and completely redundant since commits 02bc0c09b2a02ba6^
and 02bc0c09b2a02ba6.
Eliminate the batchlimit command line option, which has been redundant since
commit a274383458745101.

2 years agoIn installman, pod2man() now takes a hashref instead of a list of scripts.
Nicholas Clark [Sun, 18 Dec 2011 18:36:14 +0000]
In installman, pod2man() now takes a hashref instead of a list of scripts.

Avoid needless splitting and joining of paths when processing the "scripts"
from utils.lst. Remove the unused lexical $where2. Remove an inaccurate
comment about nochdir.

2 years agoIn pod2man() in installman, transpose the keys and values of %modpods.
Nicholas Clark [Sun, 18 Dec 2011 18:22:38 +0000]
In pod2man() in installman, transpose the keys and values of %modpods.

This doesn't change the order of processing (Pod pathnames all in lib/ sort
in the same order as module names), but will make future refactoring easier.

2 years agoStop installing the manpage for XS::Typemap.
Nicholas Clark [Fri, 16 Dec 2011 13:59:14 +0000]
Stop installing the manpage for XS::Typemap.

Like XS::APItest, we don't install the module anyway, so there's no need
to have confusing documentation installed. (See commit ae5391ad3eac0349,
which made the analogous change for XS::APItest*)

2 years agoIn buildtoc, eliminate @modpods by building %Found directly.
Nicholas Clark [Sun, 18 Dec 2011 16:56:45 +0000]
In buildtoc, eliminate @modpods by building %Found directly.

There's no need to use an intermediate array to store the results from
calling File::Find::find() as its only use is to build a hash of work to do,
by looping over it once.

Standardise on !! for the regex delimiter, and convert ^ and $ to \A and \z.
The temporary variable $pod can be eliminated, because it doesn't matter
whether $_ ends '.pod' or '.pm' in the code that follows.

2 years agoIn buildtoc, pass 'no_chdir' to File::Find::find().
Nicholas Clark [Sun, 18 Dec 2011 16:37:20 +0000]
In buildtoc, pass 'no_chdir' to File::Find::find().

2 years agoIn buildtoc, move the "has a NAME?" file check into podset().
Nicholas Clark [Sun, 18 Dec 2011 16:21:14 +0000]
In buildtoc, move the "has a NAME?" file check into podset().

Instead of opening each file to search for /^=head1\s+NAME\b/ within the
File::Find::find() callback, move the check to the main processing code in
podset(), where the file is already open. Seeking the file back to the start
is less costly than closing and subsequently reopening, and performing all the
reads at the same time reduces pressure on the OS disk cache.

2 years agoPrime the duplicate Pod cache the first time is_duplicate_pod() is called.
Nicholas Clark [Sun, 18 Dec 2011 14:03:18 +0000]
Prime the duplicate Pod cache the first time is_duplicate_pod() is called.

Previously it was primed when get_pod_metadata() was called. This removes the
undocumented assumption that is_duplicate_pod() will only be called after
get_pod_metadata(), and avoids reading 14 Pod files to calculate their MD5s
unless actually necessary.

This change means that the array references in @{$state{master}} are being
accessed much later during runtime. This reveals that podset() in buildtoc
had been clobbering its callers $_, which happened to be an alias to the
current element of @{$state{master}}.

2 years agoIn pod_lib.pl, split out the code that initialises %state from pod.lst
Nicholas Clark [Sun, 18 Dec 2011 10:00:15 +0000]
In pod_lib.pl, split out the code that initialises %state from pod.lst

It's now extracted from get_pod_metadata() into __prime_state().

2 years agoChange get_pod_metadata() to take a callback to report consistency errors.
Nicholas Clark [Sun, 18 Dec 2011 09:35:09 +0000]
Change get_pod_metadata() to take a callback to report consistency errors.

Using the callback to report errors instead of passing the 'inconsistent'
arrayref back in the state means that get_pod_metadata() doesn't even need
to calculate this information if it's not going to be used.

2 years agoMove the pod de-duplication logic from buildtoc to pod_lib.pl
Nicholas Clark [Sat, 17 Dec 2011 10:32:54 +0000]
Move the pod de-duplication logic from buildtoc to pod_lib.pl

is_duplicate_pod() moves. register_duplicate_pod() can be inlined into
get_pod_metadata().

2 years agoIn installman, break the de-duplication code out from from podset().
Nicholas Clark [Sat, 17 Dec 2011 10:03:15 +0000]
In installman, break the de-duplication code out from from podset().

It is both clearer and simpler to have separate subroutines to implement
the logic to avoid processing copied podfiles more than once.

2 years agobuildtoc should use the correct path when looking for a .pm's .pod file.
Nicholas Clark [Sat, 17 Dec 2011 20:45:14 +0000]
buildtoc should use the correct path when looking for a .pm's .pod file.

This corrects commit be6d62867c9b925b, which attempted to avoid a warning
about lack of Pod in a .pm file if it had a corresponding .pod file.
However, the commit would never actually find the .pod file because it used
$File::Find::name as the basis for the search, instead of $_. This falls
foul of the same problem as described in the previous commit -
File::Find::find() changes directory, hence $File::Find::name points
somewhere bogus, whilst $_ contains the name to use.

With this change, pod/buildtoc no longer warns about the 20 relevant files.

2 years agoIf buildtoc can't open a Pod file, that's fatal, not a warning and skip.
Nicholas Clark [Sat, 17 Dec 2011 20:32:58 +0000]
If buildtoc can't open a Pod file, that's fatal, not a warning and skip.

The logic within the File::Find::find() callback was to attempt to open any
file, and if it failed, politely report a warning and run system ls -l on the
offending name. It's been the same since pod/buildtoc was added in December
1995 by commit cb1a09d0194fed9b ("This is patch.2b1g to perl5.002beta1.").

However the ls -l would never have worked, as it uses the full pathname
(from the top of the build tree), while File::Find::find() has changed the
current directory to the directory which it is scanning. The failure to open
"should" never happen, so if it does, it should be brought to a human's
attention instead of being glossed over.

The new approach takes less code.

2 years agoIf buildtoc spots duplicated pods, that's an error condition, not a skip.
Nicholas Clark [Thu, 15 Dec 2011 13:27:01 +0000]
If buildtoc spots duplicated pods, that's an error condition, not a skip.

As of commit 9a8cc8a45d2bc98d, pod/buildtoc no longer scans ext/ for files
containing Pod. Hence it will no longer find the same file in both lib/ and
ext/, and hence the de-duplication code is no longer needed for correct
functionality. Duplicate Pods existing should never happen, so instead of
removing the code, it feels more useful to make it a build time error.

Add an editor block.

2 years agoTidy the Pod exclusion rules in buildtoc.
Nicholas Clark [Thu, 15 Dec 2011 09:15:56 +0000]
Tidy the Pod exclusion rules in buildtoc.

The rule to skip lib/Attribute/Handlers/demo/ was added by commit
a83b6f4664409877 in June 2001, and rendered obsolete when Attribute:Handlers
was moved to ext/ with commit 261f6fe66fcb39f4 in February 2009.
The rule to skip Deve::PPPort's harness was added by commit 428dc699a4f0702c
and tweaked by commit 34babc168865edbd, both in November 2001.
It was rendered obsolete when the harness was merged into the main
Devel::PPPort code in commit 4428420042d0cf28 in December 2001.
The rule to skip Math::BitInt's tests, added in commit ba62762e535f4b26 in
November 2001 was made superfluous when the general rule to skip test
directories was added by commit 2a55110093932342 in May 2003.

2 years agoinstallman only needs match =head1 to identify files with Pod.
Nicholas Clark [Tue, 13 Dec 2011 15:16:37 +0000]
installman only needs match =head1 to identify files with Pod.

Commit 63fae90782a9851d made installman skip files which contained no Pod.
However, the regex used, /^=(?:head\d+|item|pod)\b/ is overly permissive.
All files with Pod actually match /^=head1\b/. Moreover, a Pod file which
does not start with a =head1 is not going to generate a well formed man
page. Hence restrict the files processed to those which are well formed.

2 years agoSync Data-Dump and Attribute-Handlers versions in Maintainers.pl
Chris 'BinGOs' Williams [Mon, 19 Dec 2011 11:27:11 +0000]
Sync Data-Dump and Attribute-Handlers versions in Maintainers.pl

2 years agoUpdate IO-Compress to CPAN version 2.046
Chris 'BinGOs' Williams [Mon, 19 Dec 2011 09:53:37 +0000]
Update IO-Compress to CPAN version 2.046

  [DELTA]

  2.046 18 December 2011

      * Minor update to bin/zipdetails

      * Typo in name of IO::Compress::FAQ.pod

      * IO::Uncompress::Unzip
        - Example for walking a zip file used eof to control the outer
          loop. This is wrong.

      * IO::Compress::Zip
        - Change default for CanonicalName to false.
          [RT# 72974]

2 years agoUpdate F<Copying> with the FSF's new address.
Nicholas Clark [Mon, 19 Dec 2011 09:51:39 +0000]
Update F<Copying> with the FSF's new address.

It is now a byte-for-byte identical copy of the GPL version 1, as downloaded
from http://www.gnu.org/licenses/old-licenses/gpl-1.0.txt

As well as changing their address, at some point the FSF have changed the
amount of indentation on the titles. This commit also reverts our change of
` to '. For this file it seems better to be byte-for-byte identical with the
FSF, even if this does not conform to our formatting.

2 years agoData::Dumper: Changelog and version bump
Steffen Mueller [Mon, 19 Dec 2011 08:19:09 +0000]
Data::Dumper: Changelog and version bump

Bump to dev version for CPAN release.

2 years agoAttribute::Handlers 0.93 changelog
Steffen Mueller [Mon, 19 Dec 2011 07:21:32 +0000]
Attribute::Handlers 0.93 changelog

In case you wonder why I think the README has no place in core while the
Changelog does, then consider the amount of unique information in an
auto-generated README file.

2 years agoNo need to ship Attribute::Handlers README in core
Steffen Mueller [Mon, 19 Dec 2011 07:15:34 +0000]
No need to ship Attribute::Handlers README in core

It's really rather superfluous.

2 years agoperldelta for 41b1a11 :-)
Father Chrysostomos [Mon, 19 Dec 2011 05:44:42 +0000]
perldelta for 41b1a11 :-)

2 years agoperldelta for deparsing require <binop>
Father Chrysostomos [Mon, 19 Dec 2011 04:50:29 +0000]
perldelta for deparsing require <binop>

2 years agoFix deparsing of require "a".$1
Father Chrysostomos [Mon, 19 Dec 2011 04:48:40 +0000]
Fix deparsing of require "a".$1

Commit 30fcd6c41 tried to deparse ‘no 6’ correctly by checking
whether the kidop of a require has the OPpCONST_NOVER flag set,
but it did not check the op type, so it ended up with a false
positive for any binop (OPpCONST_NOVER being 2).

2 years agoTeach B::Concise about OPpCONST_NOVER
Father Chrysostomos [Mon, 19 Dec 2011 04:45:59 +0000]
Teach B::Concise about OPpCONST_NOVER

2 years agoperldelta up to 8d0b139
Father Chrysostomos [Mon, 19 Dec 2011 04:29:39 +0000]
perldelta up to 8d0b139

2 years agotest that version.pm does not clobber locale
Ricardo Signes [Mon, 19 Dec 2011 01:02:12 +0000]
test that version.pm does not clobber locale

2 years agotoke.c, util.c: setlocale returns new locale, not old
Karl Williamson [Tue, 26 Apr 2011 03:01:47 +0000]
toke.c, util.c: setlocale returns new locale, not old

This means we have to call setlocale with a NULL second parameter
to get the correct old value; then call it with the new value

2 years agoperldelta for splain/%X
Father Chrysostomos [Sun, 18 Dec 2011 22:12:36 +0000]
perldelta for splain/%X

2 years agoStop readline(*$glob_copy) from clearing PL_last_in_gv
Father Chrysostomos [Sun, 18 Dec 2011 21:34:44 +0000]
Stop readline(*$glob_copy) from clearing PL_last_in_gv

This is related to commit 8dc99089, which fixed a similar bug in tell.
In readline(*$glob_copy), the * makes a mortal copy of $glob_copy,
turning off its fake flag.  readline sets PL_last_in_gv to its argu-
ment, but it gets freed at the end of the statement and PL_last_in_gv
gets cleared.

2 years agoperldelta up to 6728c8514a
Father Chrysostomos [Sun, 18 Dec 2011 20:42:38 +0000]
perldelta up to 6728c8514a

2 years agoRevert "Make scalar() propagate lvalueness"
Father Chrysostomos [Sun, 18 Dec 2011 18:43:51 +0000]
Revert "Make scalar() propagate lvalueness"

This reverts commit d408447cb636e46fcb4f7fe7d0909bb351b7ba22.

2 years ago[perl #106288] Tests for \scalar @array
Father Chrysostomos [Sun, 18 Dec 2011 18:43:25 +0000]
[perl #106288] Tests for \scalar @array

2 years agoutf8.c: white-space, comment clarification only
Karl Williamson [Sun, 18 Dec 2011 18:46:37 +0000]
utf8.c: white-space, comment clarification only

2 years agoutf8.c: foldEQ_utf8_flags() use specific flag, not just any
Karl Williamson [Sun, 18 Dec 2011 18:38:34 +0000]
utf8.c: foldEQ_utf8_flags() use specific flag, not just any

The test here was if any flag was set, not the particular desired one.
This doesn't cause any bugs as things are currently structured, but
could in the future.

The reason it doesn't cause any bugs currently are that the other
flags are tested first, and only if they are both 0 does this flag get
tested.

2 years agoRemove some commits from the to-doc list that have been covered
Dave Rolsky [Sun, 18 Dec 2011 16:10:09 +0000]
Remove some commits from the to-doc list that have been covered

2 years agoperldelta updates for VMS changes.
Craig A. Berry [Sun, 18 Dec 2011 13:15:08 +0000]
perldelta updates for VMS changes.

2 years agoStop seek($glob_copy...) from clearing PL_last_in_gv
Father Chrysostomos [Sun, 18 Dec 2011 08:00:31 +0000]
Stop seek($glob_copy...) from clearing PL_last_in_gv

seek had the same bug as tell.  Here is the commit message from
8dc99089, which fixed tell:

----------------------------------------------------------------------

Stop tell($glob_copy) from clearing PL_last_in_gv

This bug is a side effect of rv2gv’s starting to return an incoercible
mortal copy of a coercible glob in 5.14:

$ perl5.12.4 -le 'open FH, "t/test.pl"; $fh=*FH; tell $fh; print tell'
0
$ perl5.14.0 -le 'open FH, "t/test.pl"; $fh=*FH; tell $fh; print tell'
-1

In the first case, tell without arguments is returning the position of
the filehandle.

In the second case, tell with an explicit argument that happens to
be a coercible glob (tell has an implicit rv2gv, so tell $fh is actu-
ally tell *$fh) sets PL_last_in_gv to a mortal copy thereof, which is
freed at the end of the statement, setting PL_last_in_gv to null.  So
there is no ‘last used’ handle by the time we get to the tell without
arguments.

This commit adds a new rv2gv flag that tells it not to copy the glob.

By doing it unconditionally on the kidop, this allows tell(*$fh) to
work the same way.

Let’s hope nobody does tell(*{*$fh}), which will unset PL_last_in_gv
because the inner * returns a mortal copy.

This whole area is really icky.  PL_last_in_gv should be refcounted,
but that would cause handles to leak out of scope, breaking programs
that rely on the auto-closing ‘feature’.

2 years agoStop eof($glob_copy) from clearing PL_last_in_gv
Father Chrysostomos [Sun, 18 Dec 2011 07:48:51 +0000]
Stop eof($glob_copy) from clearing PL_last_in_gv

eof had the same bug as tell.  Here is the commit message from
8dc99089, which fixed tell:

----------------------------------------------------------------------

Stop tell($glob_copy) from clearing PL_last_in_gv

This bug is a side effect of rv2gv’s starting to return an incoercible
mortal copy of a coercible glob in 5.14:

$ perl5.12.4 -le 'open FH, "t/test.pl"; $fh=*FH; tell $fh; print tell'
0
$ perl5.14.0 -le 'open FH, "t/test.pl"; $fh=*FH; tell $fh; print tell'
-1

In the first case, tell without arguments is returning the position of
the filehandle.

In the second case, tell with an explicit argument that happens to
be a coercible glob (tell has an implicit rv2gv, so tell $fh is actu-
ally tell *$fh) sets PL_last_in_gv to a mortal copy thereof, which is
freed at the end of the statement, setting PL_last_in_gv to null.  So
there is no ‘last used’ handle by the time we get to the tell without
arguments.

This commit adds a new rv2gv flag that tells it not to copy the glob.

By doing it unconditionally on the kidop, this allows tell(*$fh) to
work the same way.

Let’s hope nobody does tell(*{*$fh}), which will unset PL_last_in_gv
because the inner * returns a mortal copy.

This whole area is really icky.  PL_last_in_gv should be refcounted,
but that would cause handles to leak out of scope, breaking programs
that rely on the auto-closing ‘feature’.

2 years agoOops. You can’t do ->op_first on a baseop.
Father Chrysostomos [Sun, 18 Dec 2011 07:44:42 +0000]
Oops.  You can’t do ->op_first on a baseop.

This was the fault of commit 8dc99089.

2 years agoMinor spelling/grammar/context fixes
Matthew Horsfall (alh) [Thu, 8 Dec 2011 03:10:41 +0000]
Minor spelling/grammar/context fixes

2 years agoStop tell($glob_copy) from clearing PL_last_in_gv
Father Chrysostomos [Sun, 18 Dec 2011 07:01:07 +0000]
Stop tell($glob_copy) from clearing PL_last_in_gv

This bug is a side effect of rv2gv’s starting to return an incoercible
mortal copy of a coercible glob in 5.14:

$ perl5.12.4 -le 'open FH, "t/test.pl"; $fh=*FH; tell $fh; print tell'
0
$ perl5.14.0 -le 'open FH, "t/test.pl"; $fh=*FH; tell $fh; print tell'
-1

In the first case, tell without arguments is returning the position of
the filehandle.

In the second case, tell with an explicit argument that happens to
be a coercible glob (tell has an implicit rv2gv, so tell $fh is actu-
ally tell *$fh) sets PL_last_in_gv to a mortal copy thereof, which is
freed at the end of the statement, setting PL_last_in_gv to null.  So
there is no ‘last used’ handle by the time we get to the tell without
arguments.

This commit adds a new rv2gv flag that tells it not to copy the glob.

By doing it unconditionally on the kidop, this allows tell(*$fh) to
work the same way.

Let’s hope nobody does tell(*{*$fh}), which will unset PL_last_in_gv
because the inner * returns a mortal copy.

This whole area is really icky.  PL_last_in_gv should be refcounted,
but that would cause handles to leak out of scope, breaking programs
that rely on the auto-closing ‘feature’.

2 years agoAvoid an unused temp scalar in sv.c:S_sv_unglob
Father Chrysostomos [Sun, 18 Dec 2011 03:23:20 +0000]
Avoid an unused temp scalar in sv.c:S_sv_unglob

This is something I missed in 804b5ed7.

2 years ago[perl #97988] Nullify PL_last_in_gv when unglobbed
Father Chrysostomos [Sun, 18 Dec 2011 03:22:51 +0000]
[perl #97988] Nullify PL_last_in_gv when unglobbed

Code like this can cause PL_last_in_gv to point to a coercible glob:

    $f{g} = *STDOUT;
    readline $f{g};

If $f{g} is then modified such that it is no longer a glob,
PL_last_in_gv ends up pointing to a non-glob:

    $f{g} = 3;

If $f{g} is freed now, the PL_last_in_gv-nulling code in sv_clear will
be skipped, as it only applies to globs.

    undef %f; # now PL_last_in_gv points to a freed scalar

The resulting freed scalar can be reused by another handle,

    *{"foom"} = *other;

causing tell() with no arguments to return the position on *other,
even though *other was no the last handle read from.

This commit fixes it by nulling PL_last_in_gv when a coercible glob
is coerced.

2 years agoCwd pod consistency tweaks
Father Chrysostomos [Sat, 17 Dec 2011 20:56:52 +0000]
Cwd pod consistency tweaks

2 years agoperldiag: Consistent style of diag categories
Father Chrysostomos [Sat, 17 Dec 2011 20:54:48 +0000]
perldiag: Consistent style of diag categories

2 years agoFix the one remaining long line in perldiag
Father Chrysostomos [Sat, 17 Dec 2011 20:50:14 +0000]
Fix the one remaining long line in perldiag

2 years agobisect-runner.pl should only dump out a failed patch once by default.
Nicholas Clark [Sat, 17 Dec 2011 08:25:32 +0000]
bisect-runner.pl should only dump out a failed patch once by default.

Only show the "converted to a context diff" version if it was actually
converted to one before (attempted) application.

2 years agoTeach bisect-runner.pl how to work around various 5.005_5x build problems.
Nicholas Clark [Sat, 17 Dec 2011 08:15:06 +0000]
Teach bisect-runner.pl how to work around various 5.005_5x build problems.

This area of history is particularly hairy because of all the back-and-forth
merging between //depot/perl and //depot/cfgperl, which confuses bisect.
It's also potentially interesting, as it's the start of the 5.6.0 development
series, so many new features arrive in quick succession, making it a likely
spot for regressions to appear.

In particular, we can now build perl for this commit:

  commit 4592e6caefc41a75573f112714d170071892a537
  Author: Nick Ing-Simmons <nik@tiuk.ti.com>
  Date:   Sat May 8 14:16:30 1999 +0000

      Implement OPEN, EOF, SEEK, TELL, BINMODE and FILENO as TIEHANDLE methods.
      Provide Tie::StdHandle
      Basic update of docs.

      p4raw-id: //depot/perl@3330

2 years agobisect-runner.pl must not be fooled by a t/test that symlinks to ../miniperl
Nicholas Clark [Fri, 16 Dec 2011 18:31:56 +0000]
bisect-runner.pl must not be fooled by a t/test that symlinks to ../miniperl

It had merely been testing that the target file was +x
For t/test it must also check that t/perl wasn't a symlink to miniperl
created as a side effect of make miniperl failing. To add to the fun, for
some revisions the symlink is to '.././perl', not '../perl'.

2 years agoIn bisect-runner.pl, clarify the variables relating to the make target.
Nicholas Clark [Fri, 16 Dec 2011 17:50:56 +0000]
In bisect-runner.pl, clarify the variables relating to the make target.

The 4 things in play are
* the (standard) target name used on the command line
* the actual target we ask make to build
* the file we expect it to generate as a result
* whether that file was generated correctly

The previous variable names were not that clear about this.

2 years ago[rt.cpan.org #45885] File::Spec: Don’t use tainted tmpdir in 5.6
Father Chrysostomos [Sat, 17 Dec 2011 07:27:49 +0000]
[rt.cpan.org #45885] File::Spec: Don’t use tainted tmpdir in 5.6

Perl 5.6 doesn’t have ${^TAINT}, so the taint check in
File::Spec::Unix->_tmpdir was skipped.  This commit adds a taint check
using eval { eval $safe_substring } for 5.6.

2 years agoAUTHORS: better email address
James E Keenan [Sat, 17 Dec 2011 06:25:16 +0000]
AUTHORS: better email address

Patch attached includes better address for the long-term.

2 years agoMention evalbytes in perlvar as a (_) function
Father Chrysostomos [Sat, 17 Dec 2011 05:31:13 +0000]
Mention evalbytes in perlvar as a (_) function

2 years agoRemove use of local($_) from dumpvar.pl
Father Chrysostomos [Sat, 17 Dec 2011 04:46:35 +0000]
Remove use of local($_) from dumpvar.pl

I know we should really be fixing local($_), but that code
in scope.c is rather twisted, and I want to see this fix
in 5.16.

2 years agoperlvar: Don’t mention 5.9
Father Chrysostomos [Sat, 17 Dec 2011 04:31:38 +0000]
perlvar: Don’t mention 5.9

2 years agoperlvar: Consistent use of spaces after dots
Father Chrysostomos [Sat, 17 Dec 2011 04:31:18 +0000]
perlvar: Consistent use of spaces after dots

This commit changes it to use two spaces, for several reasons.  It was
already inconsistent.  Although it used one space in most cases, the
rest of Perl’s documentation uses two.  pod2man expects two spaces, as
it adds two spaces for sentences ending at the end of a line in the
middle of a paragraph, as it was designed to work with Perl’s origi-
nal pod docs, which used two spaces.  If this document used one space
throughout, one would have to go through it and make sure no sentences
end at the ends of lines except at the end of a paragraph.

2 years agoperldiag: Rewrap ‘Code point 0x%X is not Unicode’
Father Chrysostomos [Sat, 17 Dec 2011 02:05:45 +0000]
perldiag: Rewrap ‘Code point 0x%X is not Unicode’

to make splain output look better.

2 years agoIncrease $diagnostics::VERSION to 1.26
Father Chrysostomos [Sat, 17 Dec 2011 02:01:23 +0000]
Increase $diagnostics::VERSION to 1.26

2 years agoTeach splain about %X
Father Chrysostomos [Sat, 17 Dec 2011 02:00:07 +0000]
Teach splain about %X

2 years agoperldiag: Separate two paragraphs
Father Chrysostomos [Sat, 17 Dec 2011 01:09:01 +0000]
perldiag: Separate two paragraphs

otherwise they flow together as one paragraph in formatted pod.

2 years agoperldiag: gmtime(nan) too small does not occur
Father Chrysostomos [Sat, 17 Dec 2011 01:08:11 +0000]
perldiag: gmtime(nan) too small does not occur

2 years agoperldiag: Fix some jagged lines
Father Chrysostomos [Sat, 17 Dec 2011 00:33:06 +0000]
perldiag: Fix some jagged lines

Reflow some entries to make the right margin less jagged in
splain output.

2 years agoUpdate Timothe Litt’s e-mail address
Father Chrysostomos [Fri, 16 Dec 2011 23:57:33 +0000]
Update Timothe Litt’s e-mail address

2 years agoUpdate Socket to CPAN version 1.97
Chris 'BinGOs' Williams [Fri, 16 Dec 2011 22:37:41 +0000]
Update Socket to CPAN version 1.97

  [DELTA]

  1.97    CHANGES:
         * Rewritten Makefile.PL configure-time logic to use only core's
           ExtUtils::CBuilder rather than CPAN's ExtUtils::CChecker
         * Fix implementation of synthesized newSVpvn_flags() to also work on
           threaded 5.10.0
         * Set INSTALLDIRS=perl on perl before 5.11; required as it's
           replacing a core module

2 years agoThe t/gol-compat.t file is explicitly excluded from Getopt::Long in core
Dave Rolsky [Fri, 16 Dec 2011 23:10:09 +0000]
The t/gol-compat.t file is explicitly excluded from Getopt::Long in core

2 years agoCorrect &CORE::foo entry in perldiag
Father Chrysostomos [Fri, 16 Dec 2011 22:23:16 +0000]
Correct &CORE::foo entry in perldiag

2 years agoperldiag: missing C<>
Father Chrysostomos [Fri, 16 Dec 2011 22:22:19 +0000]
perldiag: missing C<>

I know there are dozens and dozens of these that I have not fixed,
but I happened to notice these two first and wanted to remove them
from my notes.

2 years agoperldiag: extraneous backslash
Father Chrysostomos [Fri, 16 Dec 2011 22:21:08 +0000]
perldiag: extraneous backslash

2 years agoperldiag: use F<> for file names
Father Chrysostomos [Fri, 16 Dec 2011 22:19:44 +0000]
perldiag: use F<> for file names

2 years agoperldiag: wrap long lines
Father Chrysostomos [Fri, 16 Dec 2011 22:16:46 +0000]
perldiag: wrap long lines

2 years agoperldiag: Retitle ‘Cannot copy’
Father Chrysostomos [Fri, 16 Dec 2011 22:05:28 +0000]
perldiag: Retitle ‘Cannot copy’

Without the ‘in %s’ it covers both forms of the error message.

2 years agoperldiag: Consistent use of spaces after dots
Father Chrysostomos [Fri, 16 Dec 2011 21:58:47 +0000]
perldiag: Consistent use of spaces after dots

Where the changes made splain output look worse, I reflowed the text.

2 years agotoke.c, perldiag: Note delay of some things to 5.18
Karl Williamson [Fri, 16 Dec 2011 18:39:56 +0000]
toke.c, perldiag: Note delay of some things to 5.18

We are mostly allowing two release cycles before removing a deprecated
feature; therefore several things have been retained for 5.16, that are
documented as being removed for it; Update the docs.

2 years agoSmall perldelta language tweaks for rindolf's changes
Dave Rolsky [Fri, 16 Dec 2011 18:14:20 +0000]
Small perldelta language tweaks for rindolf's changes