This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl5.git
11 years ago[perl #112780] Don’t set cloned in-memory handles to ""
Father Chrysostomos [Tue, 8 May 2012 03:43:18 +0000 (20:43 -0700)]
[perl #112780] Don’t set cloned in-memory handles to ""

PerlIO::scalar’s dup function (PerlIOScalar_dup) calls the base imple-
mentation (PerlIOBase_dup), which pushes the scalar layer on to the
new file handle.

When the scalar layer is pushed, if the mode is ">" then
PerlIOScalar_pushed sets the scalar to the empty string.  If it is
already a string, it does this simply by setting SvCUR to 0, without
touching the string buffer.

The upshot of this is that newly-cloned in-memory handles turn into
the empty string, as in this example:

use threads;
my $str = '';
open my $fh, ">", \$str;
$str = 'a';
async {
    warn $str;  # something's wrong
}->join;

This has probably always been this way.

The test suite for MSCHWERN/Test-Simple-1.005000_005.tar.gz does some-
thing similar to this:

use threads;
my $str = '';
open my $fh, ">", \$str;
print $fh "a";
async {
    print $fh "b";
    warn $str;  # "ab" expected, but 5.15.7-9 gives "\0b"
}->join;

What was happening before commit b6597275 was that two bugs were can-
celling each other out: $str would be "" when the new thread started,
but with a string buffer containing "a" beyond the end of the string
and $fh remembering 1 as its position.  The bug fixed by b6597275 was
that writing past the end of a string through a filehandle was leaving
junk (whatever was in memory already) in the intervening space between
the old end of string and the beginning of what was being written to
the string.  This allowed "" to turn magically into "ab" when "b" was
written one character past the end of the string.  Commit b6597275
started zeroing out the intervening space in that case, causing the
cloning bug to rear its head.

This commit solves the problem by hiding the scalar temporarily
in PerlIOScalar_dup so that PerlIOScalar_pushed won’t be able to
modify it.

Should PerlIOScalar_pushed stop clobbering the string and should
PerlIOScalar_open do it instead?  Perhaps.  But that would be a bigger
change, and we are supposed to be in code freeze right now.

11 years agoIncrease $PerlIO::scalar::VERSION to 0.14
Father Chrysostomos [Mon, 7 May 2012 21:53:20 +0000 (14:53 -0700)]
Increase $PerlIO::scalar::VERSION to 0.14

11 years agowith 5.16.0, 5.12.x is security-only
Ricardo Signes [Mon, 7 May 2012 15:03:37 +0000 (11:03 -0400)]
with 5.16.0, 5.12.x is security-only

11 years agocheck for PA* in both branches of case
H.Merijn Brand [Sun, 6 May 2012 11:11:03 +0000 (13:11 +0200)]
check for PA* in both branches of case

(thanks ilmari for spotting)

11 years agoDisable optimizer for 32bit PA-RISC builds on HP-UX
H.Merijn Brand [Sun, 6 May 2012 11:03:08 +0000 (13:03 +0200)]
Disable optimizer for 32bit PA-RISC builds on HP-UX

The (ANSI) C compiler fails to compile precompiled (.i) files when both
-g and -O (all +O1 and above) are given. When -g is requested, -O, +O,
and +Onolimit are removed from optimize flags

This #fail does not occur with the newer aCC compiler B3910B, which is
also used on HP-UX on Itanium.

The check/modification has to be done as late as possible, as the other
options, like -Duse64bitall and -DDEBUGING, will modify the variables
that need to be checked after hints/hpux.sh has been dealt with.

11 years agoAdd --libpods back as a non-functional option to pod2html.
Steve Peters [Fri, 4 May 2012 15:51:06 +0000 (10:51 -0500)]
Add --libpods back as a non-functional option to pod2html.

When --libpods was removed, this broke backward compatiblility with
existing uses.  This change adds back the option, but warns that
--libpods is no longer supported.

11 years agodelete PERL_YAML_BACKEND and PERL_JSON_BACKEND in T/TEST
David Golden [Fri, 4 May 2012 15:02:26 +0000 (11:02 -0400)]
delete PERL_YAML_BACKEND and PERL_JSON_BACKEND in T/TEST

If these are set, Parse-CPAN-Meta and other things that depend
on it may fail.

11 years agoCorrect variable name in example.
Paul Johnson [Sun, 29 Apr 2012 18:27:37 +0000 (20:27 +0200)]
Correct variable name in example.

As noticed by Lawrence Statton <lawrence@cluon.com>

11 years agoBump the version of perl5db since the porting scripts care
Jesse Vincent [Tue, 24 Apr 2012 23:02:34 +0000 (19:02 -0400)]
Bump the version of perl5db since the porting scripts care

11 years agowe no longer have in-file changelogs, since we have a version control system
Jesse Vincent [Tue, 24 Apr 2012 19:35:39 +0000 (15:35 -0400)]
we no longer have in-file changelogs, since we have a version control system

11 years agoWe now have version control and no longer need a changelog in perl5db
Jesse Vincent [Tue, 24 Apr 2012 19:05:55 +0000 (15:05 -0400)]
We now have version control and no longer need a changelog in perl5db

11 years agoutf8n_to_uvuni(): Fix broken malformation interactions
Karl Williamson [Fri, 27 Apr 2012 17:09:14 +0000 (11:09 -0600)]
utf8n_to_uvuni(): Fix broken malformation interactions

All code points whose UTF-8 representations start with a byte containing
either \xFE or \xFF are considered problematic because they are not
portable.  There are many such code points that are too large to
represent on a 32 or even a 64 bit platform.  Commit
eb83ed87110e41de6a4cd4463f75df60798a9243 failed to properly catch
overflow when the input flags to this function say to warn on, but
otherwise accept FE and FF sequences.  Now overflow is checked for
unconditionally.

11 years agoReally increase $File::DosGlob::VERSION to 1.07
Father Chrysostomos [Fri, 27 Apr 2012 20:31:20 +0000 (13:31 -0700)]
Really increase $File::DosGlob::VERSION to 1.07

I honestly thought I had run the tests, but I suppose not.

11 years agoIncrease $version::VERSION to 0.99
Father Chrysostomos [Fri, 27 Apr 2012 16:43:07 +0000 (09:43 -0700)]
Increase $version::VERSION to 0.99

What we have in blead right now matches that CPAN release, so this
version bump *must* happen before 5.16.

11 years agodisable codes_in_verbatim for Pod::Html
Ricardo Signes [Fri, 27 Apr 2012 01:39:33 +0000 (21:39 -0400)]
disable codes_in_verbatim for Pod::Html

...otherwise all our verbatim blocks will change radically!

11 years agois_utf8_char_slow(): Avoid accepting overlongs
Karl Williamson [Thu, 19 Apr 2012 04:14:15 +0000 (22:14 -0600)]
is_utf8_char_slow(): Avoid accepting overlongs

There are possible overlong sequences that this function blindly
accepts.  Instead of developing the code to figure this out, turn this
function into a wrapper for utf8n_to_uvuni() which already has this
check.

11 years agoperlapi: Update for changes in utf8 decoding
Karl Williamson [Thu, 19 Apr 2012 00:32:57 +0000 (18:32 -0600)]
perlapi: Update for changes in utf8 decoding

11 years agoutf8.c: White-space only
Karl Williamson [Mon, 23 Apr 2012 19:28:32 +0000 (13:28 -0600)]
utf8.c: White-space only

This outdents to account for the removal of a surrounding block.

11 years agoutf8.c: refactor utf8n_to_uvuni()
Karl Williamson [Wed, 18 Apr 2012 23:36:01 +0000 (17:36 -0600)]
utf8.c: refactor utf8n_to_uvuni()

The prior version had a number of issues, some of which have been taken
care of in previous commits.

The goal when presented with malformed input is to consume as few bytes
as possible, so as to position the input for the next try to the first
possible byte that could be the beginning of a character.  We don't want
to consume too few bytes, so that the next call has us thinking that
what is the middle of a character is really the beginning; nor do we
want to consume too many, so as to skip valid input characters.  (This
is forbidden by the Unicode standard because of security
considerations.)  The previous code could do both of these under various
circumstances.

In some cases it took as a given that the first byte in a character is
correct, and skipped looking at the rest of the bytes in the sequence.
This is wrong when just that first byte is garbled.  We have to look at
all bytes in the expected sequence to make sure it hasn't been
prematurely terminated from what we were led to expect by that first
byte.

Likewise when we get an overflow: we have to keep looking at each byte
in the sequence.  It may be that the initial byte was garbled, so that
it appeared that there was going to be overflow, but in reality, the
input was supposed to be a shorter sequence that doesn't overflow.  We
want to have an error on that shorter sequence, and advance the pointer
to just beyond it, which is the first position where a valid character
could start.

This fixes a long-standing TODO from an externally supplied utf8 decode
test suite.

And, the old algorithm for finding overflow failed to detect it on some
inputs.  This was spotted by Hugo van der Sanden, who suggested the new
algorithm that this commit uses, and which should work in all instances.
For example, on a 32-bit machine, any string beginning with "\xFE" and
having the next byte be either "\x86" or \x87 overflows, but this was
missed by the old algorithm.

Another bug was that the code was careless about what happens when a
malformation occurs that the input flags allow. For example, a sequence
should not start with a continuation byte.  If that malformation is
allowed, the code pretended it is a start byte and extracts the "length"
of the sequence from it.  But pretending it is a start byte is not the
same thing as it actually being a start byte, and so there is no
extractable length in it, so the number that this code thought was
"length" was bogus.

Yet another bug fixed is that if only the warning subcategories of the
utf8 category were turned on, and not the entire utf8 category itself,
warnings were not raised that should have been.

And yet another change is that given malformed input with warnings
turned off, this function used to return whatever it had computed so
far, which is incomplete or erroneous garbage.  This commit changes to
return the REPLACEMENT CHARACTER instead.

Thanks to Hugo van der Sanden for reviewing and finding problems with an
earlier version of these commits

11 years agoutf8n_to_uvuni: Avoid reading outside of buffer
Karl Williamson [Wed, 18 Apr 2012 22:48:29 +0000 (16:48 -0600)]
utf8n_to_uvuni: Avoid reading outside of buffer

Prior to this patch, if the first byte of a UTF-8 sequence indicated
that the sequence occupied n bytes, but the input parameters indicated
that fewer were available, all n were attempted to be read

11 years agoutf8.c: Clarify and correct pod
Karl Williamson [Wed, 18 Apr 2012 22:35:39 +0000 (16:35 -0600)]
utf8.c: Clarify and correct pod

Some of these were spotted by Hugo van der Sanden

11 years agoutf8.c: Use macros instead of if..else.. sequence
Karl Williamson [Wed, 18 Apr 2012 22:20:22 +0000 (16:20 -0600)]
utf8.c: Use macros instead of if..else.. sequence

There are two existing macros that do the job that this longish sequence
does.  One, UTF8SKIP(), does an array lookup and is very likely to be in
the machine's cache as it is used ubiquitously when processing UTF-8.
The other is a simple test and shift.  These simplify the code and
should speed things up as well.

11 years agoutf8.h: Use correct definition of start byte
Karl Williamson [Wed, 18 Apr 2012 21:25:28 +0000 (15:25 -0600)]
utf8.h: Use correct definition of start byte

The previous definition allowed for (illegal) overlongs.  The uses of
this macro in the core assume that it is accurate.  The inacurracy can
cause such code to fail.

11 years agoutf8.h: Use correct UTF-8 downgradeable definition
Christian Hansen [Wed, 18 Apr 2012 20:32:16 +0000 (14:32 -0600)]
utf8.h: Use correct UTF-8 downgradeable definition

Previously, the macro changed by this commit would accept overlong
sequences.

This patch was changed by the committer to to include EBCDIC changes;
and in the non-EBCDIC case, to save a test, by using a mask instead, in
keeping with the prior version of the code

11 years agoMake unicode label tests use unicode_eval.
Brian Fraser [Sat, 21 Apr 2012 01:09:56 +0000 (22:09 -0300)]
Make unicode label tests use unicode_eval.

A recent change exposed a faulty test, in t/uni/labels.t;
Previously, a downgraded label passed to eval under 'use utf8;'
would've been erroneously considered UTF-8 and the tests
would pass. Now it's correctly reported as illegal UTF-8
unless unicode_eval is in effect.

11 years agoperlsub: Fix new typo
Father Chrysostomos [Wed, 25 Apr 2012 05:27:04 +0000 (22:27 -0700)]
perlsub: Fix new typo

Since the typo was added during code freeze, I hope I’m not going too
far in fixing it during code freeze. :-)

11 years agoperl5160delta: The coreargs opcode is undeserving of mention
Father Chrysostomos [Wed, 25 Apr 2012 05:23:34 +0000 (22:23 -0700)]
perl5160delta: The coreargs opcode is undeserving of mention

11 years agoperl5160delta: 2 dots after spaces, please
Father Chrysostomos [Wed, 25 Apr 2012 05:22:38 +0000 (22:22 -0700)]
perl5160delta: 2 dots after spaces, please

11 years agoperl5160delta: Document wrap_op_checker
Father Chrysostomos [Wed, 25 Apr 2012 05:19:47 +0000 (22:19 -0700)]
perl5160delta: Document wrap_op_checker

This was added in e8570548af4, but was somehow missed from
perl5158delta.

11 years agoperl5160delta: Tweak punctuation
Father Chrysostomos [Wed, 25 Apr 2012 05:18:17 +0000 (22:18 -0700)]
perl5160delta: Tweak punctuation

11 years agoperl5160delta: More details for C<utf8_to_uv*_buf>
Father Chrysostomos [Wed, 25 Apr 2012 05:15:13 +0000 (22:15 -0700)]
perl5160delta: More details for C<utf8_to_uv*_buf>

I had a note to myself to make sure these were added.  I don’t
remember why they were not already there.  Perhaps the changes
were after 5.15.9.

11 years agoperl5160delta: Add missing C<>
Father Chrysostomos [Wed, 25 Apr 2012 05:08:16 +0000 (22:08 -0700)]
perl5160delta: Add missing C<>

11 years agoC<> is not L<> and does not take two |-delim parts
Ricardo Signes [Wed, 25 Apr 2012 02:51:06 +0000 (22:51 -0400)]
C<> is not L<> and does not take two |-delim parts

reported by Tom Christiansen

11 years agominor unicode doc tweaks
Ricardo Signes [Wed, 25 Apr 2012 02:44:23 +0000 (22:44 -0400)]
minor unicode doc tweaks

reported by Tom Christiansen

11 years agofix some typos in perlsyn.pod
Ricardo Signes [Wed, 25 Apr 2012 02:36:03 +0000 (22:36 -0400)]
fix some typos in perlsyn.pod

(both reported by Tom Christiansen)

11 years agopoint out __SUB__ in perlsub.pod
Ricardo Signes [Wed, 25 Apr 2012 02:34:32 +0000 (22:34 -0400)]
point out __SUB__ in perlsub.pod

11 years agofix mode used to open /dev/tty in perlop example
Ricardo Signes [Wed, 25 Apr 2012 02:23:18 +0000 (22:23 -0400)]
fix mode used to open /dev/tty in perlop example

(Thanks for reporting this, Tom Christiansen!)

11 years agoperldelta: reimport the 5.15.x internals sections
Ricardo Signes [Wed, 25 Apr 2012 00:51:22 +0000 (20:51 -0400)]
perldelta: reimport the 5.15.x internals sections

11 years agoperldelta: reimport the 5.15.x config/compile sections
Ricardo Signes [Wed, 25 Apr 2012 00:46:38 +0000 (20:46 -0400)]
perldelta: reimport the 5.15.x config/compile sections

this catches a few things that were omitted; the reordering
that resulted is neither intentional nor (as far as I can tell)
significant

11 years agoperldelta: add note about HP-UX gcc support
Ricardo Signes [Wed, 25 Apr 2012 00:38:30 +0000 (20:38 -0400)]
perldelta: add note about HP-UX gcc support

11 years agoRemove outdated todo items, and update and clarify others.
Nicholas Clark [Tue, 24 Apr 2012 09:02:15 +0000 (11:02 +0200)]
Remove outdated todo items, and update and clarify others.

11 years agoIn the todo list, note who is already working on various suggestions.
Nicholas Clark [Fri, 20 Apr 2012 08:51:54 +0000 (10:51 +0200)]
In the todo list, note who is already working on various suggestions.

11 years agoRemove (?{...}) closures in regexps from the todo list.
Nicholas Clark [Fri, 20 Apr 2012 08:47:24 +0000 (10:47 +0200)]
Remove (?{...}) closures in regexps from the todo list.

Dave has this substantially done, and is working on finishing it off.

11 years agoRemove "Properly Unicode safe tokeniser and pads" from the todo
Nicholas Clark [Wed, 18 Apr 2012 19:06:21 +0000 (21:06 +0200)]
Remove "Properly Unicode safe tokeniser and pads" from the todo

Brian Fraser (during GSoC), Father Chrysostomos, Zefram and others have done
most of the tasks suggested in this todo, so remove it from consideration as
it's clearly stale. The only possible work outstanding is how toke.c behaves
when PL_rsfp is marked as returning UTF-8, and when source filters return
SVs with SvUTF8() true. So leave this in as a comment in the Pod so that it
does not get lost, pending proper investigation.

11 years agoRemove 2 microperl suggestions from the todo list.
Nicholas Clark [Fri, 30 Mar 2012 19:50:28 +0000 (21:50 +0200)]
Remove 2 microperl suggestions from the todo list.

The --regen option added to Porting/checkcfgvar.pl makes creating uconfig.sh
pretty much automatic.

Whilst maintaining Makefile.micro could be made more automatic by templating
it based on MANIFEST, the benefits are probably never going to pay back the
cost of doing it, as we add (or remove) C and header files so rarely.
It would only really make sense as part of a system that did the same for
Makefile.SH, vms/descrip_mms.template and the multitude of Win* Makefiles.

11 years agoDrop the iCOW plan from the todo.
Nicholas Clark [Fri, 30 Mar 2012 19:35:23 +0000 (21:35 +0200)]
Drop the iCOW plan from the todo.

Dave has detailed reasons why he doesn't think that this would work. So it's
a bad idea to suggest it as something people should work on.

11 years agoSwitching entersub ops from "XS" to "Perl" and back likely won't help.
Nicholas Clark [Fri, 30 Mar 2012 19:23:25 +0000 (21:23 +0200)]
Switching entersub ops from "XS" to "Perl" and back likely won't help.

Switching OPs goes against the grain of immutable optrees under ithreads -
it could probably be made to work, but the amount of extra effort would be
non-trivial.

Secondly, cache misses are the overriding speed hit on modern CPUs.
The code switching proposed would add complexity but only be able to change
the number of branch instructions encountered, which come a distant second
to cache misses as a speed hit. The code switching would not change the data
lookups needed, and hence not the cache misses they cause.

11 years agoMinor tweaks to the todo.
Nicholas Clark [Fri, 30 Mar 2012 19:14:08 +0000 (21:14 +0200)]
Minor tweaks to the todo.

5.14 is long past - 5.18.0 is now the future stable release to aim for.
Correct the title of one entry to 0*o*ddd.
Add a missing close parenthesis.

11 years agoRemove two specific smartmatch suggestions from the todo list.
Nicholas Clark [Fri, 30 Mar 2012 16:55:37 +0000 (18:55 +0200)]
Remove two specific smartmatch suggestions from the todo list.

As smartmatch is "subject to review" these are unlikely to be appropriate.

11 years ago5.12.0 and later permit -C on the #! line with similar rules to -T
Nicholas Clark [Fri, 30 Mar 2012 16:35:52 +0000 (18:35 +0200)]
5.12.0 and later permit -C on the #! line with similar rules to -T

Whilst this isn't as totally flexible as it might be, it's good enough to
remove the todo entry, which was added when -C was forbidden on the #! line.
However, making -C parsing on the #! more flexible probably requires
removing the "feature" that a C<#line 1> directive triggers re-processing
of #! directives.

11 years agoRemove the reference to -fstack-protector, which is done.
Nicholas Clark [Fri, 30 Mar 2012 16:22:50 +0000 (18:22 +0200)]
Remove the reference to -fstack-protector, which is done.

Exploring the use of -D_FORTIFY_SOURCE=2 remains to be done.

11 years agoRemove the "POD -> HTML conversion in the core still sucks" todo entry.
Nicholas Clark [Fri, 30 Mar 2012 16:07:34 +0000 (18:07 +0200)]
Remove the "POD -> HTML conversion in the core still sucks" todo entry.

Thanks to GSoC 2011, Pod::HTML has been refactored to use Pod::Simple::XHTML.

11 years agoUpdate the todo entry for makedef.pl duplicating C conditional compilation.
Nicholas Clark [Fri, 30 Mar 2012 15:01:39 +0000 (17:01 +0200)]
Update the todo entry for makedef.pl duplicating C conditional compilation.

makedef.pl has been refactored to read from embed.fnc directly, cutting out
the embed.pl middleman. Correct the header filename - it's "intrpvar.h",
not "interpvar.h".

11 years agoRemove "Remove duplication of test setup" from the todo list.
Nicholas Clark [Fri, 30 Mar 2012 13:54:00 +0000 (15:54 +0200)]
Remove "Remove duplication of test setup" from the todo list.

It's no longer obvious which files in t/ contain significant amounts of
setup code which is duplicated. Common cases of skip logic have already been
moved into t/test.pl. The suggestion of replacing $Is_Foo checks with %Is is
not a clear-cut win - each $Is_Foo eliminated is only a 1 line saving, at the
cost of another testing idiom the future maintenance programmer has to become
familiar with.

The related suggestion "Migrate t/ from custom TAP generation" remains
something to do. There are still various files in t/ which could use be
converted to use the comparison functions of t/test.pl reducing code size,
improving failure diagnostics and where this eliminates manual test counters,
increasing flexibility for adding tests in the logically correct location
within the file.

11 years agoRefine the todo entry for install.html
Nicholas Clark [Thu, 29 Mar 2012 20:46:17 +0000 (22:46 +0200)]
Refine the todo entry for install.html

Update the description of what needs doing. The splitting code exists, but
it's sub-optimal and not re-usable. Correct the name of the Makefile target -
it's 'install.html' with a period, not 'installhtml'.

11 years ago5.14.0 adds Perl_cv_set_call_checker(), but no guide to inlining XSUBs.
Nicholas Clark [Thu, 29 Mar 2012 20:24:23 +0000 (22:24 +0200)]
5.14.0 adds Perl_cv_set_call_checker(), but no guide to inlining XSUBs.

Being able to inline simple XSUBs was listed as a TODO. 5.14.0 now provides
functionality for a compile-time "fixup" function for an XSUB, added using
Perl_cv_set_call_checker(). This has API-level documentation, but there is
no guide or tutorial on how to exploit this API to actually implement an
XSUB which can inline.

11 years ago@INC order was improved in a series of commits ending with e37778c28ba4f703.
Nicholas Clark [Thu, 29 Mar 2012 16:19:29 +0000 (18:19 +0200)]
@INC order was improved in a series of commits ending with e37778c28ba4f703.

Belatedly remove it from the TODO list.

11 years agoPADTMP hash pessimisation was fixed with commit 38bb37b9aa18dbe6.
Nicholas Clark [Thu, 29 Mar 2012 16:07:31 +0000 (18:07 +0200)]
PADTMP hash pessimisation was fixed with commit 38bb37b9aa18dbe6.

Remove it from the TODO list.

11 years agoperldelta: Fix an internal POD link
Rafael Garcia-Suarez [Tue, 24 Apr 2012 07:41:31 +0000 (09:41 +0200)]
perldelta: Fix an internal POD link

11 years agoperldelta: reorder bugfix sections and tweak one or two
Ricardo Signes [Mon, 23 Apr 2012 22:56:29 +0000 (18:56 -0400)]
perldelta: reorder bugfix sections and tweak one or two

11 years agoperldelta: Encode::JP::Mobile is no longer busted
Ricardo Signes [Mon, 23 Apr 2012 22:36:53 +0000 (18:36 -0400)]
perldelta: Encode::JP::Mobile is no longer busted

11 years agoperldelta: add a missing "if" to clarify bugfix
Ricardo Signes [Mon, 23 Apr 2012 22:36:37 +0000 (18:36 -0400)]
perldelta: add a missing "if" to clarify bugfix

11 years agoperldelta: avoid unneeded history of bugfix
Ricardo Signes [Mon, 23 Apr 2012 22:36:09 +0000 (18:36 -0400)]
perldelta: avoid unneeded history of bugfix

11 years agoperldelta: wrap a few weirdly-wrapped lines
Ricardo Signes [Mon, 23 Apr 2012 22:35:55 +0000 (18:35 -0400)]
perldelta: wrap a few weirdly-wrapped lines

11 years agoperldelta: move regex variable fixes into regex section
Ricardo Signes [Mon, 23 Apr 2012 22:20:19 +0000 (18:20 -0400)]
perldelta: move regex variable fixes into regex section

This at least avoids having quit so much in the "misc."

Also, "Regular expressions and character classes" is redundant.
Drop the "and character classes"

11 years agoperldelta: add a missing > to a C<
Ricardo Signes [Mon, 23 Apr 2012 22:17:01 +0000 (18:17 -0400)]
perldelta: add a missing > to a C<

11 years agoperldelta: move a FETCH-too-many-times bugfix to that section
Ricardo Signes [Mon, 23 Apr 2012 22:16:48 +0000 (18:16 -0400)]
perldelta: move a FETCH-too-many-times bugfix to that section

11 years agoremove perldelta placeholders, add the 5.12-is-EOL notice
Ricardo Signes [Mon, 23 Apr 2012 22:09:44 +0000 (18:09 -0400)]
remove perldelta placeholders, add the 5.12-is-EOL notice

11 years agoPATCH: [perl #112530] Panic with inversion lists
Karl Williamson [Thu, 19 Apr 2012 16:27:29 +0000 (10:27 -0600)]
PATCH: [perl #112530] Panic with inversion lists

The code assumed that all property definitions would be well-formed,
meaning, in part, that they would be numerically sorted by code point,
with each range disjoint from all others.  So, the code was just
appending each range as it is found to the inversion list it is
building.

This assumption is true for all definitions generated by mktables, but
it might not be true for user-defined ones.  The solution is merely to
change from calling the function that appends to instead call the
existing function that handles the more general case.

However, that function was not previously used outside the file it was
defined in, so must now be made public.  Also, this whole interface is
considered volatile, so the names of the public functions in it begin
with an underscore to further discourage XS writers from using them.
Therefore the more general add function is renamed to begin with an
underscore.

And, the append function is no longer needed outside the file it is
defined in, so again to keep XS writers from using it, this commit makes
it static.

12 years agoperl5160delta: Remove mini bug fix headers
Father Chrysostomos [Sat, 21 Apr 2012 17:05:05 +0000 (10:05 -0700)]
perl5160delta: Remove mini bug fix headers

for consistency

12 years agoperl5160delta: More stuff
Father Chrysostomos [Sat, 21 Apr 2012 13:37:25 +0000 (06:37 -0700)]
perl5160delta: More stuff

I squashed three commits by mistake, and it wasn’t worth separ-
ating them:

1.  Revamp substr revamp

    Move the bugs to the bugs section.

    Nobody cares about the order of uninit warnings, so zap that.

2.  Fix pod syntax error

3.  New section for given bugs

12 years agoperl5160delta: New thread bug fix section
Father Chrysostomos [Sat, 21 Apr 2012 13:28:37 +0000 (06:28 -0700)]
perl5160delta: New thread bug fix section

12 years agoperl5160delta: New deref bug fix section
Father Chrysostomos [Sat, 21 Apr 2012 13:25:31 +0000 (06:25 -0700)]
perl5160delta: New deref bug fix section

12 years agoperl5160delta: Another format bug
Father Chrysostomos [Sat, 21 Apr 2012 13:21:14 +0000 (06:21 -0700)]
perl5160delta: Another format bug

12 years agoperl5160delta: Another regexp bug
Father Chrysostomos [Sat, 21 Apr 2012 13:20:17 +0000 (06:20 -0700)]
perl5160delta: Another regexp bug

It’s not specific to regexps, but it’s close enough.

12 years agoperl5160delta: Rmv #88138
Father Chrysostomos [Sat, 21 Apr 2012 13:18:43 +0000 (06:18 -0700)]
perl5160delta: Rmv #88138

This is more-or-less covered by the embedded nulls section.  I
can’t see how to get the bug number in there in a way that is not
misleading.

12 years agoperl5160delta: Another XS bug
Father Chrysostomos [Sat, 21 Apr 2012 13:16:04 +0000 (06:16 -0700)]
perl5160delta: Another XS bug

12 years agoperl5160delta: Another XS bug
Father Chrysostomos [Sat, 21 Apr 2012 13:14:43 +0000 (06:14 -0700)]
perl5160delta: Another XS bug

12 years agoperl5160delta: Combine 2 similar return bugs
Father Chrysostomos [Sat, 21 Apr 2012 13:13:51 +0000 (06:13 -0700)]
perl5160delta: Combine 2 similar return bugs

12 years agoperl5160delta: Combine 2 similar $_ bugs
Father Chrysostomos [Sat, 21 Apr 2012 13:10:38 +0000 (06:10 -0700)]
perl5160delta: Combine 2 similar $_ bugs

12 years agoperl5160delta: new prototype bug fix section
Father Chrysostomos [Sat, 21 Apr 2012 13:05:17 +0000 (06:05 -0700)]
perl5160delta: new prototype bug fix section

12 years agoperl5160delta: new xs bug fix section
Father Chrysostomos [Sat, 21 Apr 2012 06:26:00 +0000 (23:26 -0700)]
perl5160delta: new xs bug fix section

12 years agoperl5160delta: new glob bug fix section
Father Chrysostomos [Sat, 21 Apr 2012 06:22:14 +0000 (23:22 -0700)]
perl5160delta: new glob bug fix section

12 years agoperl5160delta: more regexp bugs
Father Chrysostomos [Sat, 21 Apr 2012 06:20:37 +0000 (23:20 -0700)]
perl5160delta: more regexp bugs

12 years agoperl5160delta: Move Hash::Util core fixes to hash section
Father Chrysostomos [Sat, 21 Apr 2012 06:16:40 +0000 (23:16 -0700)]
perl5160delta: Move Hash::Util core fixes to hash section

I was going to put it under COW, but it’s not COW-specific.  It’s not
hash-specific, either, the fixes being in Internals::SvREADONLY, but
Hash::Util is the only supported way to use that function.

12 years agoperl5160delta: Don’t mention study bug fixes
Father Chrysostomos [Sat, 21 Apr 2012 06:14:19 +0000 (23:14 -0700)]
perl5160delta: Don’t mention study bug fixes

Now that we’ve made it a no-op, it’s not necessary to list the bug
fixes it had.

12 years agoperl5160delta: New debugger bug fix section
Father Chrysostomos [Sat, 21 Apr 2012 06:09:25 +0000 (23:09 -0700)]
perl5160delta: New debugger bug fix section

12 years agoperl5160delta: New sort bug fix section
Father Chrysostomos [Sat, 21 Apr 2012 06:02:11 +0000 (23:02 -0700)]
perl5160delta: New sort bug fix section

12 years agoperl5160delta: New overloading bug fix section
Father Chrysostomos [Sat, 21 Apr 2012 05:57:32 +0000 (22:57 -0700)]
perl5160delta: New overloading bug fix section

12 years agoperl5160delta: Don’t mention Internals::SvREFCNT
Father Chrysostomos [Sat, 21 Apr 2012 05:55:34 +0000 (22:55 -0700)]
perl5160delta: Don’t mention Internals::SvREFCNT

It officially doesn’t exist. :-)

12 years agoperl5160delta: Rmv debugger local $_ thing
Father Chrysostomos [Sat, 21 Apr 2012 05:54:16 +0000 (22:54 -0700)]
perl5160delta: Rmv debugger local $_ thing

This entry is no longer relevant, now that local $_ is fixed.

12 years agoperl5160delta: New section for redef warnings
Father Chrysostomos [Sat, 21 Apr 2012 05:54:06 +0000 (22:54 -0700)]
perl5160delta: New section for redef warnings

12 years agoperl5160delta: Rmv null-named const bug
Father Chrysostomos [Sat, 21 Apr 2012 00:51:36 +0000 (17:51 -0700)]
perl5160delta: Rmv null-named const bug

This is covered by the section on embedded nulls.

This was only listed separately because it came later.

12 years agoperl5160delta: Move more re fixes to the re section
Father Chrysostomos [Sat, 21 Apr 2012 00:50:41 +0000 (17:50 -0700)]
perl5160delta: Move more re fixes to the re section

12 years agoperl5160delta: Separate section for PL_last_in_gv fixes
Father Chrysostomos [Sat, 21 Apr 2012 00:46:45 +0000 (17:46 -0700)]
perl5160delta: Separate section for PL_last_in_gv fixes

12 years agoperl5160delta: Move more COW stuff into the COW section
Father Chrysostomos [Sat, 21 Apr 2012 00:41:25 +0000 (17:41 -0700)]
perl5160delta: Move more COW stuff into the COW section

12 years agoperl5160delta: Make an uninit warning bug fix section
Father Chrysostomos [Fri, 20 Apr 2012 23:38:18 +0000 (16:38 -0700)]
perl5160delta: Make an uninit warning bug fix section

12 years ago[perl #112316] Make strict vars respect null-to-null assignment
Father Chrysostomos [Sat, 21 Apr 2012 05:50:11 +0000 (22:50 -0700)]
[perl #112316] Make strict vars respect null-to-null assignment

This is a follow-up to commits 6379d4a9a and 862504fb08.

As Karl Williamson (thank you!) pointed out, my changes were not suf-
ficient, because strEQ was still being used, which stops at the first
null, treating "foo\0bar" and "foo\0foo" as equivalent.

Under threads, strict vars was not respecting glob assignment from a
package with a null in its name to another also with a null in its
name, if the two package names shared a common prefix up to the null.

12 years ago[perl #111980] Don’t allow ‘my $♠’
Father Chrysostomos [Thu, 19 Apr 2012 23:32:08 +0000 (16:32 -0700)]
[perl #111980] Don’t allow ‘my $♠’

For consistency with ‘my $!’, ‘my $-’, etc., forbid lexical punctua-
tion variables made up of non-ASCII characters.  It was by mistake
that 204e6232679 allowed this.

12 years agoperl5160delta: Shrink tie bug fix section
Father Chrysostomos [Fri, 20 Apr 2012 21:44:04 +0000 (14:44 -0700)]
perl5160delta: Shrink tie bug fix section

The av_reify bug doesn’t need to be mentioned, as it only affects
debugging builds.