In perl.git, the branch sprout/pn has been created
<http://perl5.git.perl.org/perl.git/commitdiff/8d2e6644be0570eec593d19ba86ae3db4413a265?hp=0000000000000000000000000000000000000000>
at 8d2e6644be0570eec593d19ba86ae3db4413a265 (commit)
- Log -----------------------------------------------------------------
commit 8d2e6644be0570eec593d19ba86ae3db4413a265
Author: Father Chrysostomos <[email protected]>
Date: Thu Nov 27 16:44:00 2014 -0800
mega-commit that needs splitting up
(Just pushing it as a backup.)
M dump.c
M embed.fnc
M embed.h
M embedvar.h
M ext/B/B.pm
M ext/B/B.xs
M ext/B/B/Concise.pm
M ext/B/B/Showlex.pm
M ext/B/Makefile.PL
M ext/B/t/showlex.t
M ext/B/typemap
M intrpvar.h
M mg_names.c
M mg_raw.h
M mg_vtable.h
M op.c
M pad.c
M pad.h
M perl.h
M pod/perlguts.pod
M pp.c
M proto.h
M regen/mg_vtable.pl
M scope.c
M scope.h
M sv.c
M sv.h
M t/porting/diag.t
commit b9dc24b126c1b98ee9cbf76c1cda55bada5e4f87
Author: Father Chrysostomos <[email protected]>
Date: Mon Nov 24 00:42:20 2014 -0800
fetch_pad_names.t: Emit all test names
They were defined in the structure passed to the general_tests func-
tion, but not all of them were used.
M ext/XS-APItest/t/fetch_pad_names.t
commit b0c75f9ad315de1bbd954ae29614a2ab6ec9ccdb
Author: Father Chrysostomos <[email protected]>
Date: Mon Nov 24 00:33:35 2014 -0800
âSubroutine (not var) "&x" will not stay sharedâ
Another âvariableâ warning about lexical subs that I missed.
M pad.c
M pod/perldiag.pod
M t/op/lexsub.t
commit 44f3b6184e5879a4ab23c16d3d84d89f8f71e828
Author: Father Chrysostomos <[email protected]>
Date: Mon Nov 24 00:27:12 2014 -0800
diag.t: Allow multiline diag_listed_as
M t/porting/diag.t
commit 4734113a6825feb4cc9da40cab8c7ea0d94372d1
Author: Father Chrysostomos <[email protected]>
Date: Mon Nov 24 00:05:33 2014 -0800
pad.c: Use UTF8f for âwill not stay sharedâ
This is more efficient than creating a temporary SV.
M pad.c
commit b378bcff1f14e2278ec74aba25366948d8be4690
Author: Father Chrysostomos <[email protected]>
Date: Mon Nov 24 00:00:51 2014 -0800
Make pad names always UTF8
Prior to 5.16, pad names never used the UTF8 flag, and all non-ASCII
pad names were in UTF8. Because the latter was consistently true,
everything just worked anyway.
In 5.16, UTF8 handling was done âproperlyâ, so that non-ASCII UTF8
strings were always accompanied by the UTF8 flag.
Now, it is still the case that the only non-ASCII names to make their
way into pad name code are in UTF8. Since ASCII is a subset of UTF8,
we effectively *always* have UTF8 pad names. So the flag handling is
actually redundant.
If we just assume that all pad names are UTF8 (which is true), then
we donât need to bother with the flag checking. There is actually
no reason why we should have two different encodings for storing
pad names.
So this commit enforces what has always been the case and removes the
extra code for converting between Latin-1 and UTF8. Nothing on CPAN
is using the UTF8 flag with pads, so nothing should break. In fact,
we never documented padadd_UTF8_NAME.
M ext/XS-APItest/t/fetch_pad_names.t
M op.c
M pad.c
M pad.h
M toke.c
commit 891257c9747ea1529bb07e72142a92a7fe20e2b3
Author: Father Chrysostomos <[email protected]>
Date: Sun Nov 23 23:41:45 2014 -0800
Fix UTF8 lex sub names
UTF8 lexical sub names were getting mangled, with extra junk on the end,
due to a precedence problem.
M op.c
M pad.c
M t/op/lexsub.t
commit c00fc996ae833012b4f91f7ec8bf39d8ca30ce87
Author: Father Chrysostomos <[email protected]>
Date: Sun Nov 23 14:51:21 2014 -0800
pad.c:padlist_dup: Remove refcnt check
This was added by 6de654a5, and the assert that makes sure the
reference count is exactly 1 was added in the same commit. After
several years, I think we can be sure now that the reference count
is indeed always 1. We donât need to âplay it safeâ for non-debug-
ging builds.
M pad.c
commit 2837eec05b4b27a00eb119827927dbfad781f224
Author: Father Chrysostomos <[email protected]>
Date: Sun Nov 23 14:25:22 2014 -0800
Make PADNAMELIST a separate type
This is in preparation for making PADNAME a separate type.
M av.h
M dump.c
M embed.fnc
M embed.h
M ext/B/B.pm
M ext/B/B.xs
M ext/B/typemap
M mg.c
M op.c
M pad.c
M pad.h
M perl.h
M proto.h
M sv.c
M sv.h
commit ae166d7953a4a52a495c3adcf69e49b11b33e0d6
Author: Father Chrysostomos <[email protected]>
Date: Fri Nov 21 14:54:50 2014 -0800
pad.c: Remove encoding handling
When encoding.pm affects variable names, it decodes them to UTF-8, and
when it doesnât non-ASCII lexical variable names are prohibited. So
this code is not necessary.
M pad.c
commit 6e273d61b7286ecfd86364ad4de7071112554231
Author: Father Chrysostomos <[email protected]>
Date: Fri Nov 21 00:22:38 2014 -0800
Mathomise pad_compname_type
M embed.fnc
M mathoms.c
M pad.c
commit 316a7329c4892fe0ea5559d8be1e50819b548425
Author: Father Chrysostomos <[email protected]>
Date: Fri Nov 21 00:19:27 2014 -0800
pad.h: Donât use pad_compname_type
We only use PAD_COMPNAME_TYPE in one place, so wrapping it in a func-
tion doesnât save us anything, and probably slows things down if
anything. Furthermore, PadnameTYPE will soon become even simpler
than before.
M pad.h
commit 5e8ccd28de87eac309ff5166295b2c41db988ca0
Author: Father Chrysostomos <[email protected]>
Date: Fri Nov 21 00:17:08 2014 -0800
Use PADNAME rather than SV in the source
This is in preparation for making PADNAME a separate type.
This commit is not perfect. What I did was temporarily make PADNAME a
separate struct identical to struct sv and make whatever changes were
necessary to avoid compiler warnings. In some cases I had to add tem-
porary SV casts.
M embed.fnc
M op.c
M pad.c
M pad.h
M proto.h
M sv.h
-----------------------------------------------------------------------
--
Perl5 Master Repository