In perl.git, the branch sprout/misc-post-5.16 has been created
<http://perl5.git.perl.org/perl.git/commitdiff/e6cca0c298f4724b01e927c6c7128734d140213b?hp=0000000000000000000000000000000000000000>
at e6cca0c298f4724b01e927c6c7128734d140213b (commit)
- Log -----------------------------------------------------------------
commit e6cca0c298f4724b01e927c6c7128734d140213b
Author: Father Chrysostomos <[email protected]>
Date: Sat Apr 28 14:33:17 2012 -0700
DosGlob.pm: Fix pod syntax
M lib/File/DosGlob.pm
commit ebfca2857e22b2701231024a4b8629fbdb80c80d
Author: Father Chrysostomos <[email protected]>
Date: Fri Apr 27 13:18:36 2012 -0700
Remove obsolete comment from DosGlob.pm
This comment was added by commit 37248846, without explanation.
DosGlob.pm already had âuse strictâ three days before that, added in
commit b75c8c73, three days earlier.
I can only assume that 37248846 was written before b75c8c73 was
applied, and that simply adding âuse strictâ didnât work, considering
that b75c8c73 changed quite a few things to make things strict-safe.
M lib/File/DosGlob.pm
commit 3581874382b7dc8e76916c927b37542c156cb331
Author: Father Chrysostomos <[email protected]>
Date: Fri Apr 27 13:18:07 2012 -0700
Increase $File::DosGlob::VERSION to 1.07
M lib/File/DosGlob.pm
commit 8334bbb21e5c3632bc641ec31f78b8262ca7ab88
Author: Father Chrysostomos <[email protected]>
Date: Wed Apr 25 18:29:12 2012 -0700
Make lvalue subs copy returned PADTMPs in rvalue cx
I was trying to write a JAPH, but did not get what I expected:
$ ./perl -Ilib -e '@UNIVERSAL::ISA = CORE; print "just another "->ucfirst,
"perl hacker,\n"->ucfirst'
Perl hacker,
Perl hacker,
This happened because coresubs use leavesublv, to avoid copying the
return value wastefully.
But since this is exactly the same ucfirst op being called each time
(the one in &CORE::ucfirstâs op tree), and since ucfirst uses TARG, we
end up with the same scalar.
We have the same problem with lvalue subs:
$ ./perl -Ilib -e 'sub UNIVERSAL::ucfirst :lvalue { ucfirst $_[0] } print
"just another "->ucfirst, "perl hacker,\n"->ucfirst'
Perl hacker,
Perl hacker,
(This is not a regression, as 5.14 gave âCan't modify ucfirst in
lvalue subroutine returnâ.)
So âfixingâ coresubs would not be a solution, but a workaround.
The solution therefore is for leavesublv to copy PADTMPs in
rvalue context.
Commit 80422e24c fixed this for potential lvalue list context (i.e.,
for(lvsub()) {...}), but it wasnât sufficient.
M pp_ctl.c
M t/op/coresubs.t
M t/op/sub_lval.t
commit 2a23394973e57ad00d8755ae98f927aa9a5cd1d5
Author: Father Chrysostomos <[email protected]>
Date: Wed Apr 25 14:08:48 2012 -0700
scope.c: Simplify and clarify comment
This comment seems to imply that this code is just working around a
problem in gv.c, which we could simply correct there. Iâve already
tried making the quoted code in gv.c handle *^H without a hash, but it
doesnât actually solve the problem. The real problem is that rv2hv
could also add a hash to *^H, via GvHVn, and that is simply not set up
to deal with autovivifying magic at all, and probably shouldnât be.
Also, quoting a piece of code that occurs elsewhere is just asking for
it to drift apart. By this time, the code in gv.c that is quoted in
scope.c is actually three times the length now, and looks completely
different.
M scope.c
commit 18dd9a8e7e53172767f7ff8206c639be234aa538
Author: Dagfinn Ilmari Mannsåker <[email protected]>
Date: Mon Apr 16 01:05:52 2012 +0100
Don't warn about "ambiguous without parens" for ctrl-glob
This fixes the following bogus warning [perl #112456]:
$ perl -e 'undef *^H'
Warning: Use of "undef" without parentheses is ambiguous at -e line 1.
Compare to the non-warning variant:
$ perl -e 'undef *{^H}'
M t/lib/warnings/toke
M toke.c
commit 0b19f42b308af32fa0af0ceb8589c594741787e9
Author: Father Chrysostomos <[email protected]>
Date: Tue Apr 24 18:10:21 2012 -0700
[perl #112418] Fix POD paragraph formatting
There was no empty line before a verbatim paragraph, making it
not verbatim.
M pod/perlfunc.pod
commit b1646f2752c3f9fedd6b7e8a0454ca0e715338ce
Author: Father Chrysostomos <[email protected]>
Date: Tue Apr 24 18:01:50 2012 -0700
Increase $Hash::Util::VERSION to 0.12
M ext/Hash-Util/lib/Hash/Util.pm
commit 3a9173e68d26b466ad5da4cad8c2617da9622638
Author: jkeenan <[email protected]>
Date: Sun Apr 22 20:59:33 2012 -0400
Add subroutines hash_locked() and hashref_locked() to Hash::Util.
Make @EXPORT_OK, synopsis, and list of functions tested with
can_ok() consistent with one another. Rationalize the way
functions are grouped within @EXPORT_OK and the other locations.
Add tests for hash_locked(), hashref_locked(), hash_unlocked() and
hashref_unlocked(). Add descriptions for several unit tests which
lacked them.
For RT #112126.
M ext/Hash-Util/lib/Hash/Util.pm
M ext/Hash-Util/t/Util.t
commit 03a7a92b170191758e945ec2ef6ac6dd2435fae7
Author: Father Chrysostomos <[email protected]>
Date: Tue Apr 24 17:58:04 2012 -0700
File::Find: typo
M lib/File/Find.pm
commit bf26d103fc183ef31bfd753043b7da1bd58ae53b
Author: jkeenan <[email protected]>
Date: Fri Apr 6 20:20:59 2012 -0400
Individual files may appear in list of directories to be searched.
Document that, then demonstrate that with additional tests.
For RT #59750.
M lib/File/Find.pm
commit 57584633af730506a46ef8a78cf7532a39eafa8c
Author: jkeenan <[email protected]>
Date: Thu Apr 5 20:41:14 2012 -0400
Individual files may appear in list of directories to be searched.
Document that, then demonstrate that with additional tests.
For RT #59750.
M lib/File/Find/t/find.t
commit e55f9e88656d5c1da1556c799af72343d0b252ab
Author: Father Chrysostomos <[email protected]>
Date: Tue Apr 24 17:01:00 2012 -0700
Increase $File::Find::VERSION to 1.21
M lib/File/Find.pm
commit db7f01d5214812e1d043782501ba779a2a83e1e6
Author: Father Chrysostomos <[email protected]>
Date: Tue Apr 24 16:00:36 2012 -0700
[perl #112358] Storable: Donât create RV with no refcnt
Otherwise assigning to it will cause the referent to be freed, because
nothing but Storable knows that it has no reference count.
Storable.xs was creating a new RV without increasing the refe-
rence count on the referent. It was then using it to call the
STORABLE_freeze method on the object. Since Perl passes arguments
by reference, it was possible to unref the reference by assigning to
$_[0] within STORABLE_freeze. That would cause the objectâs reference
count to go down.
M dist/Storable/Storable.xs
M dist/Storable/t/blessed.t
commit 18b08b39d48ff19a61f6c3d421cea7cc48e816bc
Author: Father Chrysostomos <[email protected]>
Date: Tue Apr 24 16:00:13 2012 -0700
Increase $Storable::VERSION to 2.35
M dist/Storable/Storable.pm
commit 75913253ac2f903ccf7166eda6c3ee5aee9a6929
Author: Father Chrysostomos <[email protected]>
Date: Tue Apr 24 13:48:19 2012 -0700
Remove todo for UTF8 source filters
Source filters donât really make sense on character streams. They are
designed for streams of bytes coming straight from a file. Things
stop making sense if you have âuse utf8â in a UTF-8 scalar (does that
mean double-decode?).
Itâs for this reason that evalbytes respects source filters, while
eval does not. (It doesnât outside the unicode_eval feature, because
it was never really thought about and the implementation didnât take
it into account, resulting in strange behaviour. It doesnât with the
unicode_eval feature, because it was intentionally prohibited.)
M Porting/todo.pod
commit 6feaa1796f67306cad584fd56ed363de6101048d
Author: Father Chrysostomos <[email protected]>
Date: Tue Apr 24 13:31:45 2012 -0700
[perl #112184] Handle $^N in Perl_magic_set
$^N is a magical variable, like $1 and $2, with the usual âsvâ
magic. So it is handled by Perl_magic_get and Perl_magic_set. But
Perl_magic_set didnât have a case for it, so it simply ignored it and
did nothing, like a tied variable with an empty STORE method.
Now assigning to $^N has the same affect as assigned to the numbered
variable to which it corresponds. If there is no corresponding cap-
ture from the last match, or in the absence of regexp plugins, it
croaks with âModification of a read-only valueâ.
M mg.c
M t/re/pat.t
commit f24e401cbf89e9037265fcdd8137d16882421210
Author: Father Chrysostomos <[email protected]>
Date: Mon Apr 23 23:03:17 2012 -0700
perldata: Consistent spaces after dots
M pod/perldata.pod
commit 25da429f4627699c5eb6acbf94c89ce09a672963
Author: Father Chrysostomos <[email protected]>
Date: Mon Apr 23 20:29:13 2012 -0700
Copy call checker when cloning closure prototype
Otherwise cv_set_call_checker has no effect inside an attribute han-
dler for a closure.
M embed.fnc
M embed.h
M ext/XS-APItest/t/call_checker.t
M mg.c
M mg_raw.h
M mg_vtable.h
M op.c
M pad.c
M pod/perlguts.pod
M proto.h
M regen/mg_vtable.pl
commit dbac9dbf7e944476f630f564e8de230bcad5b0a2
Author: Father Chrysostomos <[email protected]>
Date: Sun Apr 22 22:32:09 2012 -0700
[perl #111000] Let hv_store work on hint hashes
Magic attached to hash elements has its key stored differently depend-
ing on how it was supplied to hv_common. hv_store passes a string/
length pair to hv_common, while hv_store_ent passes an SV.
magic_clearhint wasnât able to handle string/length pairs, and only
worked with SVs, resulting in assertion failures or crashes.
This commit fixes magic_clearhint, so that XS code can use hv_store on
hint hashes.
M ext/XS-APItest/t/hash.t
M mg.c
commit 42627e95b8d11336b8770f9356f79299d943350f
Author: Father Chrysostomos <[email protected]>
Date: Sun Apr 22 22:27:50 2012 -0700
mg.c:magic_clearhint: remove redundant PERL_UNUSED_ARG
M mg.c
commit 041a822f174e63294a698e1162576213668ff80c
Author: Father Chrysostomos <[email protected]>
Date: Sun Apr 22 22:06:57 2012 -0700
XS-APItest/t/hash.t: comment typo
M t/op/hash.t
commit 6a4010f162a24a58ed6726d2b25e01f7e5253468
Author: Father Chrysostomos <[email protected]>
Date: Sun Apr 22 22:05:24 2012 -0700
Increase $XS::APItest::VERSION to 0.39
M ext/XS-APItest/APItest.pm
commit 7db798364dce08965911d8bf3fefc3909357b2f7
Author: Father Chrysostomos <[email protected]>
Date: Sun Apr 22 20:35:43 2012 -0700
pp_ctl.c:pp_goto: Donât repeat yourself
No need to say DIE three times.
M pp_ctl.c
commit bb3b01f6161c25637ad1cc03ab5dfd6ed37a0a29
Author: Father Chrysostomos <[email protected]>
Date: Sun Apr 22 20:34:24 2012 -0700
Produce the right error for goto "\0"
Since we have supported for embedded nulls in strings, we shouldnât
be using if(*label) to see whether label has a non-zero length.
Itâs probably not possible to get a null into a label, but we should
still say âcanât findâ rather than âmust haveâ in that case.
M op.c
M pp_ctl.c
M t/op/goto.t
commit 7b0d11a726f9031c5e0d5c941aa58bf652a50db2
Author: Father Chrysostomos <[email protected]>
Date: Sun Apr 22 20:19:15 2012 -0700
[perl #111794] Make goto "" like goto ${\""}
The logic was written in such a way that goto "" just happened to slip
past all the checks and cause pp_goto to return NULL for the next op,
which means the end of the program.
goto ${\""} dies with âgoto must have labelâ, so goto ""
should as well.
This also adds other tests for that error, which was apparently
untested till now.
M pp_ctl.c
M t/op/goto.t
commit 5e38aff97d7e52eeb4f34f941b520b8aec99830c
Author: Father Chrysostomos <[email protected]>
Date: Sun Apr 22 20:00:14 2012 -0700
Teach B::Concise about UTF8 labels
M ext/B/B/Concise.pm
commit 68b5d7ff3c633debad84999c57c32f7da4e8df33
Author: Father Chrysostomos <[email protected]>
Date: Sun Apr 22 19:58:26 2012 -0700
Increase $B::Concise::VERSION to 0.90
M ext/B/B/Concise.pm
commit 17bc744ec39957756241edf61baa6355cdd09e19
Author: Father Chrysostomos <[email protected]>
Date: Sun Apr 22 15:47:38 2012 -0700
Corrections to AUTHORS should go to perlbug
M AUTHORS
commit 2d862339cb45dcf46356f2aa7dc873784e83c8ca
Author: Father Chrysostomos <[email protected]>
Date: Sat Apr 21 23:28:51 2012 -0700
regen/opcodes: Rmv evalonce comment
This goes all the way back to when perl 5.0 was being polished up.
The idea behind evalonce is that eval "constant string" should be
optimisable by being compiled ahead of time, just like eval { ... }.
But this could never work properly, because BEGIN blocks would only
fire once. Also, eval '$x .. $y' is an easy way to create two separ-
ate flip-flops. There are undoubtedly many other reasons why this
could never work.
So there is no reason to keep this comment any longer, as it is not
(or should not be) a to-do item.
M regen/opcodes
commit 031c1aa2aa23bf922fabdec8a34c0117b8dca19e
Author: Father Chrysostomos <[email protected]>
Date: Sat Apr 21 23:25:33 2012 -0700
pp_hot.c:pp_entersub: Rmv comment about setting PL_compcv
PL_compcv is meant to point to the currently compiling sub, even dur-
ing an evalâs run time. (See commit 676a678.) Therefore, this com-
mentâs suggestion is incorrect.
M pp_hot.c
commit fa358d04d70942e0b9699b0dbcda2e12956a61fa
Author: Father Chrysostomos <[email protected]>
Date: Thu Apr 19 22:30:00 2012 -0700
podcheck.t: Allow usually-skipped files on cmd line
M t/porting/podcheck.t
commit 6af561faf3f6e0f1951c559c41c96df9b9ae30a3
Author: Alan Haggai Alavi <[email protected]>
Date: Tue Feb 28 21:18:58 2012 +0530
Removed a redundant 'once'
M pod/perlhist.pod
-----------------------------------------------------------------------
--
Perl5 Master Repository