This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Chris 'BinGOs' Williams [Mon, 2 Apr 2012 19:19:52 +0000 (20:19 +0100)]
Upstream pkgsrc patch to support NetBSD 6.*
From original patch:
"NetBSD-6.x is same condition as older releases."
H.Merijn Brand [Sun, 1 Apr 2012 10:01:30 +0000 (12:01 +0200)]
Determine if ELF even if ld is not ''
Father Chrysostomos [Sat, 31 Mar 2012 20:17:40 +0000 (13:17 -0700)]
Safe.pm: Don’t eval code under ‘no strict’
Instead of evaluating code under ‘no strict’, we should be evaluating
it with no pragmata at all by default.
This allows ‘use 5.012’ to enable strictures in reval. It also
has the side effect of suppressing the ‘Unbalanced string table
refcount’ warnings, at least in some cases. This was brought up in
ticket #107000.
Father Chrysostomos [Sat, 31 Mar 2012 18:35:11 +0000 (11:35 -0700)]
Convert safeops.t to test.pl
For the sake of tests in the next commit, it needs runperl(), which
test.pl provides. Since this script is only run in the perl core, it
should be fine.
Father Chrysostomos [Sat, 31 Mar 2012 16:51:08 +0000 (09:51 -0700)]
Increase $Safe::VERSION to 2.32
Rafael Garcia-Suarez [Sat, 31 Mar 2012 14:48:24 +0000 (16:48 +0200)]
Reinstate dummy ignoredpods functionality
The stub manpages (perlboot, perltoot, etc.) are listed in perl.pod,
so they don't need to be ignored by buildtoc. They weren't ignored
anyway, since the %ignoredpods hash was, well, ignored.
H.Merijn Brand [Sat, 31 Mar 2012 14:31:29 +0000 (16:31 +0200)]
Add ld_can_script probe to Configure
With this new probe, requested by rafl, we could start building perl as
it would be built on OSs like AIX and Windows and actually test visibility
of the API and thus early detect if tests would fail on these restrictive
OSs
Rafael Garcia-Suarez [Sat, 31 Mar 2012 14:16:09 +0000 (16:16 +0200)]
Add perltodo in the list of ignored pods
(like the other obsolete manpage placeholders)
Rafael Garcia-Suarez [Sat, 31 Mar 2012 10:11:51 +0000 (12:11 +0200)]
Update base.pm's Changes file from the perldeltas
Rafael Garcia-Suarez [Sat, 31 Mar 2012 10:10:36 +0000 (12:10 +0200)]
Remove test for a functionality that was removed
(this wasn't found earlier because this test file is only
run with perls <= 5.8.x)
Rafael Garcia-Suarez [Sat, 31 Mar 2012 09:27:05 +0000 (11:27 +0200)]
Adjust skip condition of tests for fields.pm to cover 5.14.*
and improve diagnostics
Rafael Garcia-Suarez [Sat, 31 Mar 2012 08:55:12 +0000 (10:55 +0200)]
Typo fix in the list of maintainers
Rafael Garcia-Suarez [Sat, 31 Mar 2012 08:54:51 +0000 (10:54 +0200)]
Show maintainer name in corecpan output
Karl Williamson [Tue, 20 Mar 2012 15:25:09 +0000 (09:25 -0600)]
utf8.c: Add back inadvertently deleted pod text
This was deleted by mistake in commit
4b88fb76efce8c436e63b907c9842345d4fa77c7
Karl Williamson [Wed, 21 Mar 2012 23:30:05 +0000 (17:30 -0600)]
Use remove more uses of utf8_to_uvchr()
Commit
4b88fb76efce8c436e63b907c9842345d4fa77c7 missed 2 occurrences of
this, one of which is #ifdef'd out.
Chris 'BinGOs' Williams [Thu, 29 Mar 2012 09:09:37 +0000 (10:09 +0100)]
Update Maintainers.pl for version-0.96
Father Chrysostomos [Thu, 29 Mar 2012 06:38:05 +0000 (23:38 -0700)]
[perl #111864] Don’t leave obj on stack for -x $overloaded
Commit
8db8f6b697e changed the way filetest operators use the stack,
in order to make stacked -t work.
Filetest operators were changed to pop the argument off the stack for
a standalone operator, but to leave it on the stack for a stacking op
(so the next operator could use it). The code for handling overloaded
objects, which was separate, was already doing something similar, by
not popping the object off the stack.
I made the mistake of changing overloaded objects’ return code to
share code with regular filetest operators (the FT_RETURN_* macros),
but without changing the way the overload code got the item from the
stack to begin with. Hence, the returning code assumed that the argu-
ment had been popped for non-stacking ops, which was not the case.
This commit changes the way the overload case does it’s return, to
account for the fact that the object must be left on the stack when
initially fetched from it (in case the object turns out not to have -X
overloading and the regular code has to kick in).
Father Chrysostomos [Wed, 28 Mar 2012 15:55:47 +0000 (08:55 -0700)]
uni/parser.t: Don’t test for explicit eval number
A different ‘(eval xxx)’ number was being emitted under miniperl.
Father Chrysostomos [Wed, 28 Mar 2012 15:50:41 +0000 (08:50 -0700)]
Correct minitest skip count in uni/labels.t
Father Chrysostomos [Wed, 28 Mar 2012 05:38:01 +0000 (22:38 -0700)]
[perl #111462] Don’t leak eval "" op tree when croaking
This patch only fixes the problem for croaks that occur in the peep-
hole optimiser or in Perl_finalize_optree.
It does this by doing SAVEFREEOP first and then restoring the
savestack index to its previous value afterwards (to void the effect
of SAVEFREEOP).
A more correct fix might be to do op_free in die_unwind before
POPEVAL, but I would have to do a lot more digging through the code
to tell whether that is safe. I don’t feel comfortable with doing
that for 5.16.
This leak causes this warning on non-threaded debugging builds:
$ PERL_DESTRUCT_LEVEL=1 ./perl -Ilib -e 'BEGIN { $^H{foo} = bar } our %FIELDS; my main $x; eval q[$x->{foo}]'
Unbalanced string table refcount: (1) for "foo" during global destruction.
This problem does not affect the main program, because perl_destruct
frees PL_main_root. It does not affect subroutines, as the op tree is
attached to the CV first, so freeing the CV frees the op tree.
Father Chrysostomos [Tue, 27 Mar 2012 03:33:34 +0000 (20:33 -0700)]
[perl #111656] tie_fetch_count.t: Suppress ‘glob failed’
This test doesn’t care what glob actually does in this case, but
merely how many times it calls magic. So suppress any warnings, in
order for tests to pass on VMS.
Father Chrysostomos [Tue, 27 Mar 2012 03:30:28 +0000 (20:30 -0700)]
[perl #111656] perldiag: ‘glob failed’ is S, not W
Prior to the preceding commit, the ‘glob failed’ warning would always
occur, regardless of warnings settings, so W was never correct. Now
it is S, which is was it used to be closest to.
Father Chrysostomos [Tue, 27 Mar 2012 03:28:40 +0000 (20:28 -0700)]
[perl #111656] Make ‘glob failed’ suppressible
The ‘glob failed’ warning was not respecting warnings settings. The
warning used to occur even under ‘no warnings’. This commit makes it
a severe warning. I.e., there is no change when warnings are con-
trolled by $^W and $^W is 0, but only under ‘no warnings 'glob'’.
Gisle Aas [Mon, 26 Mar 2012 21:52:43 +0000 (13:52 -0800)]
Avoid 'USE_SITECUSTOMIZE redefined'-warning during compilation
Abigail [Mon, 26 Mar 2012 15:02:57 +0000 (17:02 +0200)]
Merge branch 'abigail/for-5.17' into blead
Abigail [Mon, 26 Mar 2012 15:02:18 +0000 (17:02 +0200)]
Fix error in regexp, causing it to match too much.
David Mitchell [Mon, 26 Mar 2012 12:31:24 +0000 (13:31 +0100)]
clear magic flags in sv_clear
commit
5bec93bead1c10563a402404de095bbdf398790f made temporary use of the
no-longer used SvMAGIC field while freeing a HV. This commit makes
sure that before this happens, that the SvMAGICAL flags are turned off.
This is because it turns out that some XS code (e.g. Glib) can leave an SV
with a null SvMAGIC field, but with magic flags still set.
Father Chrysostomos [Sun, 25 Mar 2012 21:22:33 +0000 (14:22 -0700)]
Increase $XS::APItest::VERSION to 0.38
Father Chrysostomos [Sun, 25 Mar 2012 21:22:02 +0000 (14:22 -0700)]
Copy the pv in parse_label
Two commits ago, the label-handling code in the tokenizer was changed
to record the label in an SVOP instead of just a plain unclaimed PV.
Likewise, the parser (perly.y) was changed to copy the string out of
the SVOP’s SV, insteading of taking ownership of the existing PV.
parse_label was modified to take the string out of the SVOP, but was
not copying it like perly.y. So it resulted in this:
$ PERL_DESTRUCT_LEVEL=2 ./perl -Ilib ext/XS-APItest/t/swaplabel.t
1..56
ok 1
... truncated ...
ok 56
panic: free from wrong pool during global destruction.
Father Chrysostomos [Sat, 26 Nov 2011 23:47:43 +0000 (15:47 -0800)]
Fix test failure
This fixes up tests added in the previous commit, making them take
evalbytes into account. Those tests were originally written in a
branch where evalbytes didn’t exist and the unicode_eval feature
was implicitly enabled.
Brian Fraser [Tue, 15 Nov 2011 13:42:09 +0000 (05:42 -0800)]
Label UTF8 cleanup
This meant changing LABEL's definition in perly.y, so most of this
commit is actually from the regened files.
Father Chrysostomos [Sun, 25 Mar 2012 20:46:16 +0000 (13:46 -0700)]
[Merge] More UTF8 patches
These are more of Brian Fraser’s UTF8 patches from perl
ticket #107008.
There will probably be just one more before 5.16 (the label patch).
Brian Fraser [Sat, 24 Mar 2012 00:42:55 +0000 (17:42 -0700)]
toke.c: "Illegal character in prototype" for Latin-1 protos
Brian Fraser [Sat, 24 Mar 2012 00:39:53 +0000 (17:39 -0700)]
toke.c: "Precedence problem: open %s should be open(%s)" cleanup.
Brian Fraser [Sat, 24 Mar 2012 00:37:15 +0000 (17:37 -0700)]
toke.c: "CORE::%s is not a keyword" cleanup.
Brian Fraser [Sat, 24 Mar 2012 00:36:13 +0000 (17:36 -0700)]
toke.c: "Ambiguous use of -%s resolved as -&%s()" cleanup.
Brian Fraser [Sat, 20 Aug 2011 07:50:42 +0000 (08:50 +0100)]
toke.c: "Bareword "%s" refers to nonexistent package" cleanup.
Brian Fraser [Sat, 20 Aug 2011 07:33:57 +0000 (08:33 +0100)]
toke.c: "Bad name after %s%s" cleanup.
Craig A. Berry [Sun, 25 Mar 2012 18:57:09 +0000 (13:57 -0500)]
Clarify VMS-specific handling of $/ = \N.
When the record read feature was introduced in
5b2b9c687790241e8
in 1998 (but by Dan Sugalski, not Hans Mulder as the git history
erroneously says), sysread() was a couple of years from learning
about utf-8 and PerlIO was just a fancy way of calling stdio. The
documentation was reasonable given that environment.
Now it's potentially misleading to say that record reads are "the
equivalent of C<sysread>" because sysread on filehandles opened
with ":utf8" does characters, not bytes. The salient point about
the analogy with sysread was always that the read is unbuffered.
In the old days, this was in contrast to the buffering done in
stdio's fread(), but now it's in contrast to the buffering in the
perlio layer. By emphasizing the role of buffering, we can
actually shorten and simplify the docs.
Side note: Both Camel 3 and Camel 4 have the following problematic
statement in the documentation of $/: "Record mode mixes with line
mode only on systems where standard I/O supplies a read(3) function;
VMS is a notable exception." VMS certainly does have a read(3)
function and in fact that's what's used directly for record reads
(via PerlLIO_read) on VMS only. And as far as I know, it is
fread(), not read(), that is considered "standard I/O" everywhere.
N.B. Record reads on non-record-oriented files on VMS will likely
start using the same buffering as other platforms in a future
version of Perl.
Father Chrysostomos [Fri, 23 Mar 2012 15:52:23 +0000 (08:52 -0700)]
Use HEKf in 2 places in op.c:S_finalize_op
The previous patch was written before HEKf existed.
HEKf with HEKfARG(...) is much faster than SVf with
SVfARG(sv_2mortal(newSVhek(...)))
Brian Fraser [Fri, 23 Mar 2012 15:50:22 +0000 (08:50 -0700)]
op.c: Warnings cleanup.
Ricardo Signes [Fri, 23 Mar 2012 14:15:44 +0000 (10:15 -0400)]
version bump _charnames.pm to keep porting tests happy
Karl Williamson [Tue, 6 Mar 2012 02:35:38 +0000 (19:35 -0700)]
charnames: White-space only
Outdent code that previously was enclosed in a block
Karl Williamson [Tue, 6 Mar 2012 02:33:50 +0000 (19:33 -0700)]
PATCH: [perl #11560] extraneous msg in viacode
This refactors to test for the hash element being defined before
attempting to use it.
Abigail [Fri, 23 Mar 2012 13:15:42 +0000 (14:15 +0100)]
Clearify string parsing.
It was already documented that when scanning for the end of the string,
backslashes escaping the closing delimiter are being eliminated; but
this is true for backslashes escaping backslashes as well. This makes
that C<< '.\.' eq '.\\.' >>. (Pointed out by Mithaldu)
Tony Cook [Sat, 17 Mar 2012 23:26:22 +0000 (10:26 +1100)]
[rt #79960] document how broken $/ = \N is for unicode streams
It's kind of late in the release process to change how $/ = \N works
for unicode streams, briefly document how broken it is and let the
user know it may change.
Father Chrysostomos [Fri, 23 Mar 2012 03:34:32 +0000 (20:34 -0700)]
[Merge] Some more UTF8 patches
This branch represents more of Brian Fraser’s patches from
<https://github.com/Hugmeir/gsoc-pad-utf8-safety/commits/tokemess>,
that are referenced by perl #107008.
This is not all of it, but all I’ve merged and tested so far.
Brian Fraser [Fri, 23 Mar 2012 01:03:11 +0000 (18:03 -0700)]
toke.c: "Ambiguous use of %c{%s} resolved to %c%s" cleanup.
Brian Fraser [Sat, 6 Aug 2011 19:59:16 +0000 (20:59 +0100)]
toke.c: S_checkcomma, "No comma allowed after %s" cleanup
Brian Fraser [Sat, 6 Aug 2011 10:03:16 +0000 (11:03 +0100)]
toke.c: "Possible unintended interpolation of %s in string" cleanup.
Brian Fraser [Sat, 6 Aug 2011 09:50:34 +0000 (10:50 +0100)]
toke.c: '"(my|state)" variable %s can't be in a package' cleanup.
Brian Fraser [Sat, 6 Aug 2011 09:35:22 +0000 (10:35 +0100)]
toke.c: 'No package name allowed for variable %s in "our"' cleanup.
Brian Fraser [Fri, 23 Mar 2012 00:58:14 +0000 (17:58 -0700)]
toke.c: 'No such class %s' cleanup.
Brian Fraser [Sat, 6 Aug 2011 07:16:59 +0000 (08:16 +0100)]
toke.c: 'Operator or semicolon missing before %c%s' cleanup.
Brian Fraser [Fri, 23 Mar 2012 00:29:16 +0000 (17:29 -0700)]
toke.c: 'Scalar value %s better written as $%s' cleanup.
Father Chrysostomos [Thu, 22 Mar 2012 05:34:13 +0000 (22:34 -0700)]
uni/parser.t: Fix eval num in test
Brian Fraser [Sat, 6 Aug 2011 07:05:16 +0000 (08:05 +0100)]
toke.c: 'You need to quote %s' cleanup.
Brian Fraser [Sat, 6 Aug 2011 06:55:06 +0000 (07:55 +0100)]
toke.c: 'Unrecognized character' croak cleanup.
Brian Fraser [Sat, 6 Aug 2011 05:16:29 +0000 (06:16 +0100)]
toke.c: S_no_op cleanup
Father Chrysostomos [Thu, 22 Mar 2012 00:55:19 +0000 (17:55 -0700)]
Remove yyerror_sv
This was added in the previous commit, but was unnecessary, as it
is not used anywhere and is not part of the public API.
Brian Fraser [Fri, 5 Aug 2011 18:46:14 +0000 (15:46 -0300)]
toke.c: yyerror cleanup.
Abigail [Wed, 21 Mar 2012 16:35:13 +0000 (17:35 +0100)]
Document where to find the perlorg repository.
Abigail [Wed, 21 Mar 2012 11:28:35 +0000 (12:28 +0100)]
Add link to the announcement of Perl 5.15.9.
Also, indent the epigraph of Perl 5.15.9, to prevent the text to be
formatted.
Abigail [Tue, 20 Mar 2012 20:07:59 +0000 (21:07 +0100)]
Create a perldelta for 5.15.9
Abigail [Tue, 20 Mar 2012 19:44:06 +0000 (20:44 +0100)]
Epigraph for v5.15.9
Abigail [Tue, 20 Mar 2012 19:39:17 +0000 (20:39 +0100)]
Typo fix
Abigail [Tue, 20 Mar 2012 16:03:30 +0000 (17:03 +0100)]
Clearify "build, test and check a fresh perl" instructions
Abigail [Tue, 20 Mar 2012 15:21:23 +0000 (16:21 +0100)]
Add 5.15.9 release to perlhist.pod
Abigail [Tue, 20 Mar 2012 15:13:55 +0000 (16:13 +0100)]
Work around an HTML display issue
Abigail [Tue, 20 Mar 2012 14:50:00 +0000 (15:50 +0100)]
Final version of Module::CoreList is 2.65.
Abigail [Tue, 20 Mar 2012 14:13:55 +0000 (15:13 +0100)]
Clearify that perl can crash, not Windows
Abigail [Tue, 20 Mar 2012 14:12:38 +0000 (15:12 +0100)]
Say "warnings" instead of "errors"
Abigail [Tue, 20 Mar 2012 14:09:49 +0000 (15:09 +0100)]
Removed the changes to Term::ReadLine from the bug fixes section.
And added a line to the module upgrades section.
Abigail [Tue, 20 Mar 2012 12:31:35 +0000 (13:31 +0100)]
Fix typo in pod/perldelta
Abigail [Tue, 20 Mar 2012 12:27:21 +0000 (13:27 +0100)]
Reran Porting/acknowledgements.pl
Abigail [Tue, 20 Mar 2012 12:24:00 +0000 (13:24 +0100)]
List 5.16 blockers in 'Known Problems' in perldelta
Ricardo Signes [Tue, 20 Mar 2012 12:00:38 +0000 (08:00 -0400)]
yes, regression fixes are generally okay for maint
Chris 'BinGOs' Williams [Tue, 20 Mar 2012 11:12:34 +0000 (11:12 +0000)]
Get the ABSTRACT for Module-CoreList from the .pod file now
Yves Orton [Mon, 19 Mar 2012 23:52:46 +0000 (00:52 +0100)]
correct logic error that meant that "last" might not be updated properly
While checking into an unrelated issue I realized "last" might not
be reset under certain circumstances. Although I could not find a way
to make anything bad happen from perl, I decided to fix it, at worst
we waste a few CPU cycles setting "last" to NULL more often than we
should.
Yves Orton [Mon, 19 Mar 2012 23:46:45 +0000 (00:46 +0100)]
[RT #111842] prevent TRIE overwriting EXACT following NOTHING at start
Fixes RT #111842. Example:
"x" =~ /\A(?>(?:(?:)A|B|C?x))\z/
Should match, but didn't due to allowing NOTHING to start a sequence.
See comment in patch for details.
This also changes a test to no longer be TODO, and improves the test
name to explain its purpose.
Abigail [Tue, 20 Mar 2012 10:13:39 +0000 (11:13 +0100)]
Document the TRIE changes in perldelta
Abigail [Tue, 20 Mar 2012 09:28:38 +0000 (10:28 +0100)]
Changed email adress & fixed name for Mark Fisher.
As requested in
<CAMLAAiJK6-AsGYKMtt_W9E_7=R-+hhfC1ten3ZwMcsPgfmYqtg@mail.gmail.com>
Abigail [Tue, 20 Mar 2012 09:15:36 +0000 (10:15 +0100)]
Document upgrade of lib/charnames.
Changed Module::Corelist and perldelta.pod
Karl Williamson [Tue, 20 Mar 2012 05:15:07 +0000 (23:15 -0600)]
charnames: Clarify viacode pod
This mentions that viacode's return can change as a result of
corrections to the Unicode standard.
Karl Williamson [Tue, 20 Mar 2012 05:14:28 +0000 (23:14 -0600)]
charnames pod: slight rewording
Karl Williamson [Tue, 20 Mar 2012 04:10:18 +0000 (22:10 -0600)]
charnames: re-order pod sections
This merely moves one =head1 section to later in the pod, so that future
changes will make more sense; and it has to bump the version.
Abigail [Tue, 20 Mar 2012 02:05:46 +0000 (03:05 +0100)]
Fix spelling errors in pod/perldelta.pod
Abigail [Tue, 20 Mar 2012 01:48:29 +0000 (02:48 +0100)]
Document new versions of Data::Dumper and XS::APItest.
Updated Module::CoreList and perldelta to reflect the changes.
Karl Williamson [Tue, 20 Mar 2012 00:49:46 +0000 (18:49 -0600)]
5160delta: Note that feasible to remain on Unicode 6.0
Abigail [Tue, 20 Mar 2012 00:41:52 +0000 (01:41 +0100)]
Paste in the output of Porting/corelist-perldelta.pl
- Manually added feature.
- Data::Dumper was upgraded while working on this; so we'll have to
redo the corelist, and adjust the "Updated Modules and Pragmata"
section.
Karl Williamson [Mon, 19 Mar 2012 22:31:18 +0000 (16:31 -0600)]
Deprecate utf8_to_uvchr() and utf8_to_uvuni()
These functions can read beyond the end of their input strings if
presented with malformed UTF-8 input. Perl core code has been converted
to use other functions instead of these.
Karl Williamson [Mon, 19 Mar 2012 21:38:06 +0000 (15:38 -0600)]
Use the new utf8 to code point functions
These functions should be used in preference to the old ones which can
read beyond the end of the input string.
Karl Williamson [Mon, 19 Mar 2012 21:13:19 +0000 (15:13 -0600)]
utf8.c: Add valid_utf8_to_uvuni() and valid_utf8_to_uvchr()
These functions are like utf8_to_uvuni() and utf8_to_uvchr(), but their
name implies that the input UTF-8 has been validated.
They are not currently documented, as it's best for XS writers to call
the functions that do validation.
Karl Williamson [Mon, 19 Mar 2012 21:03:01 +0000 (15:03 -0600)]
utf8.c: Add utf8_to_uvchr_buf() and utf8_to_uvuni_buf()
The existing functions (utf8_to_uvchr and utf8_to_uvuni) have a
deficiency in that they could read beyond the end of the input string if
given malformed input. This commit creates two new functions which
behave as the old ones did, but have an extra parameter each, which
gives the upper limit to the string, so no read beyond it is done.
Karl Williamson [Mon, 19 Mar 2012 20:48:51 +0000 (14:48 -0600)]
utf8.c: pod clarification
Karl Williamson [Mon, 19 Mar 2012 19:48:58 +0000 (13:48 -0600)]
utf8.c: pod (mostly formatting) + comments changes
Karl Williamson [Mon, 19 Mar 2012 19:21:26 +0000 (13:21 -0600)]
perlapi (from sv.h) clarifications
Karl Williamson [Mon, 19 Mar 2012 19:01:11 +0000 (13:01 -0600)]
autodoc.pl: pod format fix
Karl Williamson [Mon, 19 Mar 2012 16:52:25 +0000 (10:52 -0600)]
perlguts, warnings.t: Update references to obsolete fcn names
These functions were replaced long ago, apparently in 5.8, but I didn't
verify that for sure.
Karl Williamson [Mon, 19 Mar 2012 16:44:08 +0000 (10:44 -0600)]
perldelta: clarification