In perl.git, the branch sprout/lvref has been created
<http://perl5.git.perl.org/perl.git/commitdiff/ff728863c4cad35ca8dfe4a2fd8903405f3bec91?hp=0000000000000000000000000000000000000000>
at ff728863c4cad35ca8dfe4a2fd8903405f3bec91 (commit)
- Log -----------------------------------------------------------------
commit ff728863c4cad35ca8dfe4a2fd8903405f3bec91
Author: Father Chrysostomos <[email protected]>
Date: Sun Sep 21 16:04:23 2014 -0700
lvref.t: Test \$foo = \*bar
M t/op/lvref.t
commit d5544a6bad571c54c2cc9c14a447d924a4d14be3
Author: Father Chrysostomos <[email protected]>
Date: Sun Sep 21 15:04:20 2014 -0700
lvref.t: To-do tests for foreach \
M t/op/lvref.t
commit 9fbd714439c777d528452361457f35afcbff499d
Author: Father Chrysostomos <[email protected]>
Date: Sun Sep 21 14:58:15 2014 -0700
lvret.t: To-do tests for \local $scalar=
M t/op/lvref.t
commit 1acefac97f4eb34d011682f53eebe82ea581f7cb
Author: Father Chrysostomos <[email protected]>
Date: Sun Sep 21 14:43:37 2014 -0700
When making lex alias, donât free old var too soon
It could be exactly the same variable, and the reference on the rhs
could be weak:
use feature ":all";
use Scalar::Util 'weaken';
my $a;
weaken($r = \$a);
\$a = $r;
__END__
Lvalue references are experimental at - line 5.
Segmentation fault: 11
M pp.c
M t/op/lvref.t
commit c7ed532bd9680cb58721b0a22c45897bf52567e2
Author: Father Chrysostomos <[email protected]>
Date: Sun Sep 21 14:23:00 2014 -0700
lvref.t: To-do test for PADSTALE handling
M t/op/lvref.t
commit 668c790a85427dafaad863e0f243b298fac15c6e
Author: Father Chrysostomos <[email protected]>
Date: Sun Sep 21 13:56:01 2014 -0700
Simple package scalar lvalue refs
\$::x = ... works, but not \local $x yet.
M embed.fnc
M embed.h
M op.c
M pp.c
M proto.h
M sv.c
M t/op/lvref.t
commit ef80d97417adfe217c70b918cd6d5c0c0aff9b12
Author: Father Chrysostomos <[email protected]>
Date: Sun Sep 21 12:29:30 2014 -0700
lvref.t: Tests for error massages
M t/op/lvref.t
commit 0725b71f1baf88814731e1b5d12c78ec046d3da5
Author: Father Chrysostomos <[email protected]>
Date: Sun Sep 21 11:19:41 2014 -0700
lvref.t: Remove to-do and eval from passing test
This one passing test was failing inside the eval because closures
are not yet supported. (Thatâs why I added explicit closure tests
in the previous commit.)
M t/op/lvref.t
commit f7d163af64b0edddf425e637b5ef8f9a4b57f7a7
Author: Father Chrysostomos <[email protected]>
Date: Sun Sep 21 11:16:33 2014 -0700
lvref.t: To-do tests for closures
M t/op/lvref.t
commit 795558f3b0fefbdba248f2983036947035f2b308
Author: Father Chrysostomos <[email protected]>
Date: Sun Sep 21 00:22:41 2014 -0700
Document lvalue ref diagnostics
Also, use âa SCALAR referenceâ rather than âa scalar referenceâ, to
match the style used elsewhere.
M pod/perldiag.pod
M pp.c
commit b6be2c513f45f3abdc6952bb17e44d6524dd0087
Author: Father Chrysostomos <[email protected]>
Date: Sat Sep 20 14:49:04 2014 -0700
First stab at lexical scalar aliases
No \my$x= yet. Only my $x; \$x =....
It does not work properly with variables closed over from outside;
hence, all the to-do tests fail still, since they do the assign-
ment in evals.
But this much works:
$ ./miniperl -Ilib -Mfeature=:all -e 'my $m; \$m = \$n; warn \$m; warn \$n'
Lvalue references are experimental at -e line 1.
SCALAR(0x7fa04b805510) at -e line 1.
SCALAR(0x7fa04b805510) at -e line 1.
M op.c
M pp.c
M scope.c
commit e205c6f1c452c26968b99beffb7182e84defd5d0
Author: Father Chrysostomos <[email protected]>
Date: Sat Sep 20 23:33:26 2014 -0700
op.c: In newBINOP, set up op_last before CHECKOP
Set up op_last pointers in newBINOP before calling the op-specific
ck_* routine.
That way, since this op sub-tree is well-formed from the outset, we
donât need as much fix-up code elsewhere to account for the case where
the binop has been embedded inside a larger op tree (state var ini-
tialisation).
The repetition operator is an odd bird. If the lhs is a list of one
item, it is effectively an unop, though still of class binop. Though
op_last would usually point to the last immediate child, it ended
up null instead. B::Deparse was written to expect that, so letâs
keep it that way by setting it to null in ck_repeat, now that the
last = first->sibling assignment in newBINOP (which used to do it)
happens earlier.
M op.c
commit 813e899eda752af273f4fcf552a947d580ca4daa
Author: Father Chrysostomos <[email protected]>
Date: Sat Sep 20 13:48:48 2014 -0700
Increase $Opcode::VERSION to 1.29
M ext/Opcode/Opcode.pm
commit fa83b16438b45f5f0092641deeda4342cf62551a
Author: Father Chrysostomos <[email protected]>
Date: Sat Sep 20 13:47:58 2014 -0700
Add sbind op type
M ext/Opcode/Opcode.pm
M lib/B/Op_private.pm
M opcode.h
M opnames.h
M pp.c
M pp_proto.h
M regen/opcodes
commit 1caf04a8097010df0c2f3b4edaf4a483f945ef36
Author: Father Chrysostomos <[email protected]>
Date: Sat Sep 20 13:27:47 2014 -0700
op.c:ck_spair: Remove redundant checks
Neither the av nor the hv ops have the OA_RETSCALAR flag, so these
checks are unreachable.
These checks go all the way back to a0d0e21e (perl 5.000).
M op.c
commit 9e6ed504bc23c8669070c23a3db8e6ef9711de87
Author: Father Chrysostomos <[email protected]>
Date: Sat Sep 20 11:46:14 2014 -0700
To-do tests for scalar lvalue refs
M MANIFEST
A t/op/lvref.t
commit 2fd28532f6d5349cec2b8d121c5dc6f2acb16ca5
Author: Father Chrysostomos <[email protected]>
Date: Sat Sep 20 11:16:08 2014 -0700
Increase $warnings::VERSION to 1.27
M lib/warnings.pm
M regen/warnings.pl
commit befecd7fc4a1781c77355e160935e36c3fa89eb1
Author: Father Chrysostomos <[email protected]>
Date: Sat Sep 20 11:15:18 2014 -0700
Add experimental::lvalue_refs warnings category
M lib/warnings.pm
M regen/warnings.pl
M warnings.h
commit 933104775916f404fc074f40f434810268ef26ab
Author: Father Chrysostomos <[email protected]>
Date: Sat Sep 20 11:13:58 2014 -0700
Increase $feature::VERSION to 1.38
M lib/feature.pm
M regen/feature.pl
commit 32578da4b36478cfab46deefd946822c0215b072
Author: Father Chrysostomos <[email protected]>
Date: Sat Sep 20 11:12:37 2014 -0700
Add lvalue_refs feature feature
M feature.h
M lib/feature.pm
M regen/feature.pl
-----------------------------------------------------------------------
--
Perl5 Master Repository