This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
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.
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
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.
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. :-)
Father Chrysostomos [Wed, 25 Apr 2012 05:23:34 +0000 (22:23 -0700)]
perl5160delta: The coreargs opcode is undeserving of mention
Father Chrysostomos [Wed, 25 Apr 2012 05:22:38 +0000 (22:22 -0700)]
perl5160delta: 2 dots after spaces, please
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.
Father Chrysostomos [Wed, 25 Apr 2012 05:18:17 +0000 (22:18 -0700)]
perl5160delta: Tweak punctuation
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.
Father Chrysostomos [Wed, 25 Apr 2012 05:08:16 +0000 (22:08 -0700)]
perl5160delta: Add missing C<>
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
Ricardo Signes [Wed, 25 Apr 2012 02:44:23 +0000 (22:44 -0400)]
minor unicode doc tweaks
reported by Tom Christiansen
Ricardo Signes [Wed, 25 Apr 2012 02:36:03 +0000 (22:36 -0400)]
fix some typos in perlsyn.pod
(both reported by Tom Christiansen)
Ricardo Signes [Wed, 25 Apr 2012 02:34:32 +0000 (22:34 -0400)]
point out __SUB__ in perlsub.pod
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!)
Ricardo Signes [Wed, 25 Apr 2012 00:51:22 +0000 (20:51 -0400)]
perldelta: reimport the 5.15.x internals 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
Ricardo Signes [Wed, 25 Apr 2012 00:38:30 +0000 (20:38 -0400)]
perldelta: add note about HP-UX gcc support
Nicholas Clark [Tue, 24 Apr 2012 09:02:15 +0000 (11:02 +0200)]
Remove outdated todo items, and update and clarify others.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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".
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.
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'.
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.
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.
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.
Rafael Garcia-Suarez [Tue, 24 Apr 2012 07:41:31 +0000 (09:41 +0200)]
perldelta: Fix an internal POD link
Ricardo Signes [Mon, 23 Apr 2012 22:56:29 +0000 (18:56 -0400)]
perldelta: reorder bugfix sections and tweak one or two
Ricardo Signes [Mon, 23 Apr 2012 22:36:53 +0000 (18:36 -0400)]
perldelta: Encode::JP::Mobile is no longer busted
Ricardo Signes [Mon, 23 Apr 2012 22:36:37 +0000 (18:36 -0400)]
perldelta: add a missing "if" to clarify bugfix
Ricardo Signes [Mon, 23 Apr 2012 22:36:09 +0000 (18:36 -0400)]
perldelta: avoid unneeded history of bugfix
Ricardo Signes [Mon, 23 Apr 2012 22:35:55 +0000 (18:35 -0400)]
perldelta: wrap a few weirdly-wrapped lines
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"
Ricardo Signes [Mon, 23 Apr 2012 22:17:01 +0000 (18:17 -0400)]
perldelta: add a missing > to a C<
Ricardo Signes [Mon, 23 Apr 2012 22:16:48 +0000 (18:16 -0400)]
perldelta: move a FETCH-too-many-times bugfix to that section
Ricardo Signes [Mon, 23 Apr 2012 22:09:44 +0000 (18:09 -0400)]
remove perldelta placeholders, add the 5.12-is-EOL notice
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.
Father Chrysostomos [Sat, 21 Apr 2012 17:05:05 +0000 (10:05 -0700)]
perl5160delta: Remove mini bug fix headers
for consistency
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
Father Chrysostomos [Sat, 21 Apr 2012 13:28:37 +0000 (06:28 -0700)]
perl5160delta: New thread bug fix section
Father Chrysostomos [Sat, 21 Apr 2012 13:25:31 +0000 (06:25 -0700)]
perl5160delta: New deref bug fix section
Father Chrysostomos [Sat, 21 Apr 2012 13:21:14 +0000 (06:21 -0700)]
perl5160delta: Another format 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.
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.
Father Chrysostomos [Sat, 21 Apr 2012 13:16:04 +0000 (06:16 -0700)]
perl5160delta: Another XS bug
Father Chrysostomos [Sat, 21 Apr 2012 13:14:43 +0000 (06:14 -0700)]
perl5160delta: Another XS bug
Father Chrysostomos [Sat, 21 Apr 2012 13:13:51 +0000 (06:13 -0700)]
perl5160delta: Combine 2 similar return bugs
Father Chrysostomos [Sat, 21 Apr 2012 13:10:38 +0000 (06:10 -0700)]
perl5160delta: Combine 2 similar $_ bugs
Father Chrysostomos [Sat, 21 Apr 2012 13:05:17 +0000 (06:05 -0700)]
perl5160delta: new prototype bug fix section
Father Chrysostomos [Sat, 21 Apr 2012 06:26:00 +0000 (23:26 -0700)]
perl5160delta: new xs bug fix section
Father Chrysostomos [Sat, 21 Apr 2012 06:22:14 +0000 (23:22 -0700)]
perl5160delta: new glob bug fix section
Father Chrysostomos [Sat, 21 Apr 2012 06:20:37 +0000 (23:20 -0700)]
perl5160delta: more regexp bugs
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.
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.
Father Chrysostomos [Sat, 21 Apr 2012 06:09:25 +0000 (23:09 -0700)]
perl5160delta: New debugger bug fix section
Father Chrysostomos [Sat, 21 Apr 2012 06:02:11 +0000 (23:02 -0700)]
perl5160delta: New sort bug fix section
Father Chrysostomos [Sat, 21 Apr 2012 05:57:32 +0000 (22:57 -0700)]
perl5160delta: New overloading bug fix section
Father Chrysostomos [Sat, 21 Apr 2012 05:55:34 +0000 (22:55 -0700)]
perl5160delta: Don’t mention Internals::SvREFCNT
It officially doesn’t exist. :-)
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.
Father Chrysostomos [Sat, 21 Apr 2012 05:54:06 +0000 (22:54 -0700)]
perl5160delta: New section for redef warnings
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.
Father Chrysostomos [Sat, 21 Apr 2012 00:50:41 +0000 (17:50 -0700)]
perl5160delta: Move more re fixes to the re section
Father Chrysostomos [Sat, 21 Apr 2012 00:46:45 +0000 (17:46 -0700)]
perl5160delta: Separate section for PL_last_in_gv fixes
Father Chrysostomos [Sat, 21 Apr 2012 00:41:25 +0000 (17:41 -0700)]
perl5160delta: Move more COW stuff into the COW section
Father Chrysostomos [Fri, 20 Apr 2012 23:38:18 +0000 (16:38 -0700)]
perl5160delta: Make an uninit warning bug fix section
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.
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.
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.
Father Chrysostomos [Fri, 20 Apr 2012 21:32:03 +0000 (14:32 -0700)]
perl5160delta: Move one more -l bug to the ft section
Father Chrysostomos [Fri, 20 Apr 2012 21:30:48 +0000 (14:30 -0700)]
perl5160delta: New secton for tie bugs
Father Chrysostomos [Fri, 20 Apr 2012 21:20:45 +0000 (14:20 -0700)]
perl5160delta: Section for vstring & ver obj fixes
Father Chrysostomos [Fri, 20 Apr 2012 21:11:42 +0000 (14:11 -0700)]
perl5160delta: Misc tweaks
Father Chrysostomos [Fri, 20 Apr 2012 21:01:02 +0000 (14:01 -0700)]
perl5160delta: Finish rewriting stat/filetest section
Ricardo Signes [Fri, 20 Apr 2012 17:40:31 +0000 (13:40 -0400)]
add a missing C<...> to perldelta
thanks for the report, James Aitken!
Ricardo Signes [Fri, 20 Apr 2012 16:52:52 +0000 (12:52 -0400)]
several perl5160delta.pod tweaks or fixes
Thanks to Marcel Grünauer and Pedro Melo for pointing out
some of these errors.
Father Chrysostomos [Fri, 20 Apr 2012 06:23:35 +0000 (23:23 -0700)]
perl5160delta: A hint bug I missed
Father Chrysostomos [Fri, 20 Apr 2012 06:18:23 +0000 (23:18 -0700)]
perl5160delta: Partially rewrite stat/filetest section
Father Chrysostomos [Fri, 20 Apr 2012 06:14:24 +0000 (23:14 -0700)]
perl5160delta: Create a stat/filetest section
Father Chrysostomos [Fri, 20 Apr 2012 06:05:00 +0000 (23:05 -0700)]
perl5160delta: Shrink embedded null section
Some of these items repeat each other.
Father Chrysostomos [Fri, 20 Apr 2012 06:03:40 +0000 (23:03 -0700)]
perl5160delta: Change capitalisation
to match the surrounding sections
Father Chrysostomos [Fri, 20 Apr 2012 06:02:27 +0000 (23:02 -0700)]
perl5160delta: Create a weakref section
Father Chrysostomos [Fri, 20 Apr 2012 06:00:36 +0000 (23:00 -0700)]
perl5160delta: Rearrange and reword aggreg bugs
Father Chrysostomos [Fri, 20 Apr 2012 05:57:58 +0000 (22:57 -0700)]
perl5160delta: Put hash and array bug fixes together
Some entries apply to both types of aggregates, so making a single
section for both is the path of least resistance.
Father Chrysostomos [Fri, 20 Apr 2012 05:49:53 +0000 (22:49 -0700)]
perl5160delta: New section for hint bug fixes
Father Chrysostomos [Fri, 20 Apr 2012 05:33:39 +0000 (22:33 -0700)]
perl5160delta: Tweaks to lv sub bug fixes
Rearrange things so similar items are closer. Shorten some descriptions.
Father Chrysostomos [Fri, 20 Apr 2012 05:18:28 +0000 (22:18 -0700)]
perl5160delta.pod: Move 2 similar entries closer
Father Chrysostomos [Thu, 12 Apr 2012 13:38:59 +0000 (06:38 -0700)]
[perl #107636] Make Carp::longmess work inside die override
When PL_last_in_gv (and hence $.) is set, Carp::longmess uses
eval { die } to find out what handle and line number perl will append
to the error message.
It was not qualifying the die with CORE::, so a CORE::GLOBAL::die
override that itself calls Carp::longmess would result in infinite
recursion if that override were installed before Carp loaded.
This broke Class::Scaffold’s tests, which began to hang.
Father Chrysostomos [Thu, 12 Apr 2012 21:50:47 +0000 (14:50 -0700)]
Increase $Carp::Heavy::VERSION to 1.26
Father Chrysostomos [Thu, 12 Apr 2012 13:39:50 +0000 (06:39 -0700)]
Increase $Carp::VERSION to 1.26
Father Chrysostomos [Mon, 9 Apr 2012 06:04:38 +0000 (23:04 -0700)]
Make strict vars respect ‘package ĵ; *ĵ::bar = [];’
In this particular case, the name of the current package in UTF-8 (it
cannot be expressed in Latin-1) is the same byte sequence as the name
of the package being assigned to in Latin-1.
Some of the logic in stashpv_hvname_match was faulty. It worked for
a Latin-1 current package assigning to a glob in a UTF-8 package, but
not the other way around.