This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
12 years agoIn buildtoc, eliminate @modpods by building %Found directly.
Nicholas Clark [Sun, 18 Dec 2011 16:56:45 +0000 (17:56 +0100)]
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.

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

12 years agoIn buildtoc, move the "has a NAME?" file check into podset().
Nicholas Clark [Sun, 18 Dec 2011 16:21:14 +0000 (17:21 +0100)]
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.

12 years agoPrime the duplicate Pod cache the first time is_duplicate_pod() is called.
Nicholas Clark [Sun, 18 Dec 2011 14:03:18 +0000 (15:03 +0100)]
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}}.

12 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 (11:00 +0100)]
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().

12 years agoChange get_pod_metadata() to take a callback to report consistency errors.
Nicholas Clark [Sun, 18 Dec 2011 09:35:09 +0000 (10:35 +0100)]
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.

12 years agoMove the pod de-duplication logic from buildtoc to pod_lib.pl
Nicholas Clark [Sat, 17 Dec 2011 10:32:54 +0000 (11:32 +0100)]
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().

12 years agoIn installman, break the de-duplication code out from from podset().
Nicholas Clark [Sat, 17 Dec 2011 10:03:15 +0000 (11:03 +0100)]
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.

12 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 (21:45 +0100)]
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.

12 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 (21:32 +0100)]
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.

12 years agoIf buildtoc spots duplicated pods, that's an error condition, not a skip.
Nicholas Clark [Thu, 15 Dec 2011 13:27:01 +0000 (14:27 +0100)]
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.

12 years agoTidy the Pod exclusion rules in buildtoc.
Nicholas Clark [Thu, 15 Dec 2011 09:15:56 +0000 (10:15 +0100)]
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.

12 years agoinstallman only needs match =head1 to identify files with Pod.
Nicholas Clark [Tue, 13 Dec 2011 15:16:37 +0000 (15:16 +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.

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

12 years agoUpdate IO-Compress to CPAN version 2.046
Chris 'BinGOs' Williams [Mon, 19 Dec 2011 09:53:37 +0000 (09:53 +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]

12 years agoUpdate F<Copying> with the FSF's new address.
Nicholas Clark [Mon, 19 Dec 2011 09:51:39 +0000 (10:51 +0100)]
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.

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

Bump to dev version for CPAN release.

12 years agoAttribute::Handlers 0.93 changelog
Steffen Mueller [Mon, 19 Dec 2011 07:21:32 +0000 (08:21 +0100)]
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.

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

It's really rather superfluous.

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

12 years agoperldelta for deparsing require <binop>
Father Chrysostomos [Mon, 19 Dec 2011 04:50:29 +0000 (20:50 -0800)]
perldelta for deparsing require <binop>

12 years agoFix deparsing of require "a".$1
Father Chrysostomos [Mon, 19 Dec 2011 04:48:40 +0000 (20:48 -0800)]
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).

12 years agoTeach B::Concise about OPpCONST_NOVER
Father Chrysostomos [Mon, 19 Dec 2011 04:45:59 +0000 (20:45 -0800)]
Teach B::Concise about OPpCONST_NOVER

12 years agoperldelta up to 8d0b139
Father Chrysostomos [Mon, 19 Dec 2011 04:29:39 +0000 (20:29 -0800)]
perldelta up to 8d0b139

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

12 years agotoke.c, util.c: setlocale returns new locale, not old
Karl Williamson [Tue, 26 Apr 2011 03:01:47 +0000 (21:01 -0600)]
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

12 years agoperldelta for splain/%X
Father Chrysostomos [Sun, 18 Dec 2011 22:12:36 +0000 (14:12 -0800)]
perldelta for splain/%X

12 years agoStop readline(*$glob_copy) from clearing PL_last_in_gv
Father Chrysostomos [Sun, 18 Dec 2011 21:34:44 +0000 (13:34 -0800)]
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.

12 years agoperldelta up to 6728c8514a
Father Chrysostomos [Sun, 18 Dec 2011 20:42:38 +0000 (12:42 -0800)]
perldelta up to 6728c8514a

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

This reverts commit d408447cb636e46fcb4f7fe7d0909bb351b7ba22.

12 years ago[perl #106288] Tests for \scalar @array
Father Chrysostomos [Sun, 18 Dec 2011 18:43:25 +0000 (10:43 -0800)]
[perl #106288] Tests for \scalar @array

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

12 years agoutf8.c: foldEQ_utf8_flags() use specific flag, not just any
Karl Williamson [Sun, 18 Dec 2011 18:38:34 +0000 (11:38 -0700)]
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.

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

12 years agoperldelta updates for VMS changes.
Craig A. Berry [Sun, 18 Dec 2011 13:15:08 +0000 (07:15 -0600)]
perldelta updates for VMS changes.

12 years agoStop seek($glob_copy...) from clearing PL_last_in_gv
Father Chrysostomos [Sun, 18 Dec 2011 08:00:31 +0000 (00:00 -0800)]
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’.

12 years agoStop eof($glob_copy) from clearing PL_last_in_gv
Father Chrysostomos [Sun, 18 Dec 2011 07:48:51 +0000 (23:48 -0800)]
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’.

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

This was the fault of commit 8dc99089.

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

12 years agoStop tell($glob_copy) from clearing PL_last_in_gv
Father Chrysostomos [Sun, 18 Dec 2011 07:01:07 +0000 (23:01 -0800)]
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’.

12 years agoAvoid an unused temp scalar in sv.c:S_sv_unglob
Father Chrysostomos [Sun, 18 Dec 2011 03:23:20 +0000 (19:23 -0800)]
Avoid an unused temp scalar in sv.c:S_sv_unglob

This is something I missed in 804b5ed7.

12 years ago[perl #97988] Nullify PL_last_in_gv when unglobbed
Father Chrysostomos [Sun, 18 Dec 2011 03:22:51 +0000 (19:22 -0800)]
[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.

12 years agoCwd pod consistency tweaks
Father Chrysostomos [Sat, 17 Dec 2011 20:56:52 +0000 (12:56 -0800)]
Cwd pod consistency tweaks

12 years agoperldiag: Consistent style of diag categories
Father Chrysostomos [Sat, 17 Dec 2011 20:54:48 +0000 (12:54 -0800)]
perldiag: Consistent style of diag categories

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

12 years agobisect-runner.pl should only dump out a failed patch once by default.
Nicholas Clark [Sat, 17 Dec 2011 08:25:32 +0000 (09:25 +0100)]
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.

12 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 (09:15 +0100)]
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

12 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 (19:31 +0100)]
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'.

12 years agoIn bisect-runner.pl, clarify the variables relating to the make target.
Nicholas Clark [Fri, 16 Dec 2011 17:50:56 +0000 (18:50 +0100)]
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.

12 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 (23:27 -0800)]
[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.

12 years agoAUTHORS: better email address
James E Keenan [Sat, 17 Dec 2011 06:25:16 +0000 (22:25 -0800)]
AUTHORS: better email address

Patch attached includes better address for the long-term.

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

12 years agoRemove use of local($_) from dumpvar.pl
Father Chrysostomos [Sat, 17 Dec 2011 04:46:35 +0000 (20:46 -0800)]
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.

12 years agoperlvar: Don’t mention 5.9
Father Chrysostomos [Sat, 17 Dec 2011 04:31:38 +0000 (20:31 -0800)]
perlvar: Don’t mention 5.9

12 years agoperlvar: Consistent use of spaces after dots
Father Chrysostomos [Sat, 17 Dec 2011 04:31:18 +0000 (20:31 -0800)]
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.

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

to make splain output look better.

12 years agoIncrease $diagnostics::VERSION to 1.26
Father Chrysostomos [Sat, 17 Dec 2011 02:01:23 +0000 (18:01 -0800)]
Increase $diagnostics::VERSION to 1.26

12 years agoTeach splain about %X
Father Chrysostomos [Sat, 17 Dec 2011 02:00:07 +0000 (18:00 -0800)]
Teach splain about %X

12 years agoperldiag: Separate two paragraphs
Father Chrysostomos [Sat, 17 Dec 2011 01:09:01 +0000 (17:09 -0800)]
perldiag: Separate two paragraphs

otherwise they flow together as one paragraph in formatted pod.

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

12 years agoperldiag: Fix some jagged lines
Father Chrysostomos [Sat, 17 Dec 2011 00:33:06 +0000 (16:33 -0800)]
perldiag: Fix some jagged lines

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

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

12 years agoUpdate Socket to CPAN version 1.97
Chris 'BinGOs' Williams [Fri, 16 Dec 2011 22:37:41 +0000 (22:37 +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

12 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 (17:10 -0600)]
The t/gol-compat.t file is explicitly excluded from Getopt::Long in core

12 years agoCorrect &CORE::foo entry in perldiag
Father Chrysostomos [Fri, 16 Dec 2011 22:23:16 +0000 (14:23 -0800)]
Correct &CORE::foo entry in perldiag

12 years agoperldiag: missing C<>
Father Chrysostomos [Fri, 16 Dec 2011 22:22:19 +0000 (14:22 -0800)]
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.

12 years agoperldiag: extraneous backslash
Father Chrysostomos [Fri, 16 Dec 2011 22:21:08 +0000 (14:21 -0800)]
perldiag: extraneous backslash

12 years agoperldiag: use F<> for file names
Father Chrysostomos [Fri, 16 Dec 2011 22:19:44 +0000 (14:19 -0800)]
perldiag: use F<> for file names

12 years agoperldiag: wrap long lines
Father Chrysostomos [Fri, 16 Dec 2011 22:16:46 +0000 (14:16 -0800)]
perldiag: wrap long lines

12 years agoperldiag: Retitle ‘Cannot copy’
Father Chrysostomos [Fri, 16 Dec 2011 22:05:28 +0000 (14:05 -0800)]
perldiag: Retitle ‘Cannot copy’

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

12 years agoperldiag: Consistent use of spaces after dots
Father Chrysostomos [Fri, 16 Dec 2011 21:58:47 +0000 (13:58 -0800)]
perldiag: Consistent use of spaces after dots

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

12 years agotoke.c, perldiag: Note delay of some things to 5.18
Karl Williamson [Fri, 16 Dec 2011 18:39:56 +0000 (11:39 -0700)]
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.

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

12 years agoDocument the "perl -d" bug fixes commit.
Shlomi Fish [Fri, 16 Dec 2011 18:08:47 +0000 (20:08 +0200)]
Document the "perl -d" bug fixes commit.

In pod/perldelta.pod.

12 years agoDoc 5d5d9ea ("c 3" debugger command fix) in perldelta
Dave Rolsky [Fri, 16 Dec 2011 17:07:25 +0000 (11:07 -0600)]
Doc 5d5d9ea ("c 3" debugger command fix) in perldelta

12 years agoperldiag: double spaces after dots
Father Chrysostomos [Fri, 16 Dec 2011 17:53:56 +0000 (09:53 -0800)]
perldiag: double spaces after dots

12 years agoperldiag: rewrap an entry
Father Chrysostomos [Fri, 16 Dec 2011 17:47:13 +0000 (09:47 -0800)]
perldiag: rewrap an entry

so that splain output looks better.

12 years agoperldiag: rewrap an entry
Father Chrysostomos [Fri, 16 Dec 2011 17:44:31 +0000 (09:44 -0800)]
perldiag: rewrap an entry

to fit comfortably in an 80-column terminal.

12 years agoIncrease $Locale::Maketext::VERSION to 1.21
Father Chrysostomos [Fri, 16 Dec 2011 17:33:35 +0000 (09:33 -0800)]
Increase $Locale::Maketext::VERSION to 1.21

12 years agoAdd Thomas Sibley to AUTHORS
Thomas Sibley [Fri, 16 Dec 2011 15:27:23 +0000 (10:27 -0500)]
Add Thomas Sibley to AUTHORS

12 years agoDocument Locale::Maketext's numerate method
Thomas Sibley [Fri, 16 Dec 2011 14:55:14 +0000 (09:55 -0500)]
Document Locale::Maketext's numerate method

Previously this was only implicitly documented by a passing reference to
it a subsequent section.

12 years agoDoc: numerify was renamed to numf very early on
Thomas Sibley [Fri, 16 Dec 2011 14:52:13 +0000 (09:52 -0500)]
Doc: numerify was renamed to numf very early on

12 years ago[perl #91514] Use correct error msg for default
Father Chrysostomos [Fri, 16 Dec 2011 17:25:30 +0000 (09:25 -0800)]
[perl #91514] Use correct error msg for default

This commit not only mentions default (as opposed to when)
in the error message about it being outside a topicalizer, but
also normalises those error messages, making them consistent with
continue and other loop controls.  It also makes the perldiag
entry for when actually match the error message.

12 years agoReally update perldelta with some older changes that hadn't been included yet
Dave Rolsky [Fri, 16 Dec 2011 16:42:24 +0000 (10:42 -0600)]
Really update perldelta with some older changes that hadn't been included yet

This time without reverting a week or two worth of other change documentation
(version control is hard).

12 years agoRevert "Updated perldelta for some older changes that hadn't been included yet"
Dave Rolsky [Fri, 16 Dec 2011 16:39:57 +0000 (10:39 -0600)]
Revert "Updated perldelta for some older changes that hadn't been included yet"

This reverts commit c15f899f18827e563db510796dac34fdff0db1d8.

12 years agoUpdated perldelta for some older changes that hadn't been included yet
Dave Rolsky [Fri, 16 Dec 2011 16:37:16 +0000 (10:37 -0600)]
Updated perldelta for some older changes that hadn't been included yet

12 years agoPut tlhackque’s real name in AUTHORS
Father Chrysostomos [Fri, 16 Dec 2011 14:24:35 +0000 (06:24 -0800)]
Put tlhackque’s real name in AUTHORS

12 years agoTeach win32/Makefile 'test_porting'
Chris 'BinGOs' Williams [Fri, 16 Dec 2011 12:13:46 +0000 (12:13 +0000)]
Teach win32/Makefile 'test_porting'

12 years agoTeach win32/makefile.mk 'test_porting'
Chris 'BinGOs' Williams [Fri, 16 Dec 2011 12:10:40 +0000 (12:10 +0000)]
Teach win32/makefile.mk 'test_porting'

12 years agoperldelta up to 5dca8ed9d28
Father Chrysostomos [Fri, 16 Dec 2011 06:10:18 +0000 (22:10 -0800)]
perldelta up to 5dca8ed9d28

12 years agoAdd tlhackque to AUTHORS
Father Chrysostomos [Fri, 16 Dec 2011 06:10:04 +0000 (22:10 -0800)]
Add tlhackque to AUTHORS

12 years agoCarp.pm localise $SIG{__DIE__} before eval
Father Chrysostomos [Fri, 16 Dec 2011 06:07:06 +0000 (22:07 -0800)]
Carp.pm localise $SIG{__DIE__} before eval

Otherwise we end up calling other code’s $SIG{__DIE__}.

12 years agoIncrease $Carp::VERSION to 1.24
Father Chrysostomos [Fri, 16 Dec 2011 05:42:02 +0000 (21:42 -0800)]
Increase $Carp::VERSION to 1.24

12 years agoCarp.t: Add tests for PL_last_in_gv
Father Chrysostomos [Fri, 16 Dec 2011 05:41:37 +0000 (21:41 -0800)]
Carp.t: Add tests for PL_last_in_gv

12 years agoAdd missing <fh> line # phrase to Carp messages
tlhackque [Fri, 16 Dec 2011 04:48:21 +0000 (20:48 -0800)]
Add missing <fh> line # phrase to Carp messages

Carp::croak is documented in the camel book as "working like die does,
except misdirecting blame to the caller."

Perldoc says "croak - die of errors (from perspective of caller)".

This is almost true, however careful inspection reveals that croak
does not include file position information ( ", <fh> line $." ) as die
does (when it can).

It turns out that it *is* possible to determine the current file han-
dle (although I wish it were easier).

Carp should do this and add it to the traceback, as it really is use-
ful information.

12 years agopp_hot.c: First letter of latin-1 classnames wasn't being checked correctly.
Brian Fraser [Tue, 13 Dec 2011 22:32:48 +0000 (19:32 -0300)]
pp_hot.c: First letter of latin-1 classnames wasn't being checked correctly.

Previously the first letter for latin-1 classnames was being mischecked, only
allowing ASCII, which caused an instance of the Unicode Bug for downgradable
classnames.

12 years agoperldelta up to 5e5a1632
Father Chrysostomos [Fri, 16 Dec 2011 03:54:42 +0000 (19:54 -0800)]
perldelta up to 5e5a1632

plus the array_base feature

12 years agoName anon handles __ANONIO__
Father Chrysostomos [Fri, 16 Dec 2011 01:45:45 +0000 (17:45 -0800)]
Name anon handles __ANONIO__

rather than $__ANONIO__

That dollar sign *has* to have been a mistake.  In ck_fun, the
name was set to __ANONIO__, but it seems the change that added it
(afd1915d43) did not account for the fact that a little later on the
same function checks to makes sure it begins with a dollar sign, as it
could only be a variable name.

rv2gv’s use of $__ANONIO__ (added recently by yours truly) was just
copying was ck_fun was doing.

12 years agoDocument the array_base feature
Father Chrysostomos [Fri, 16 Dec 2011 00:34:36 +0000 (16:34 -0800)]
Document the array_base feature

12 years agoDisable $[ under 5.16
Father Chrysostomos [Fri, 16 Dec 2011 00:26:16 +0000 (16:26 -0800)]
Disable $[ under 5.16

This adds the array_base feature to feature.pm

Perl_feature_is_enabled has been modified to use PL_curcop, rather
than PL_hintgv, so it can work with run-time hints as well.
(PL_curcop holds the current state op at run time, and &PL_compiling
at compile time, so it works for both.)  The hints in $^H are not
stored in the same place at compile time and run time, so the FEATURE_IS_ENABLED macro has been modified to check first whether
PL_curop == &PL_compiling.

Since array_base is on by default with no hint for it in %^H, it is
a ‘negative’ feature, whose entry in %^H turns it off.  feature.pm
has been modified to support such negative features.  The new FEATURE_IS_ENABLED_d can check whether such default features
are enabled.

This does make things less efficient, as every version declaration
now loads feature.pm to disable all features (including turning off
array_base, which entails adding an entry to %^H) before loading the
new bundle.  I have plans to make this more efficient.