In perl.git, the branch sprout/lvref has been created
<http://perl5.git.perl.org/perl.git/commitdiff/e0cb1c1be7ebf44a58d8b7ae29bc5df262677e68?hp=0000000000000000000000000000000000000000>
at e0cb1c1be7ebf44a58d8b7ae29bc5df262677e68 (commit)
- Log -----------------------------------------------------------------
commit e0cb1c1be7ebf44a58d8b7ae29bc5df262677e68
Author: Father Chrysostomos <[email protected]>
Date: Tue Sep 23 22:33:09 2014 -0700
lvref.t: Some assignments with mixed lhs
M t/op/lvref.t
commit 4329832c1abfb7334289c3af5ef520773afb7fbd
Author: Father Chrysostomos <[email protected]>
Date: Sun Sep 21 23:11:32 2014 -0700
Implement \my $x = ...
M lib/B/Op_private.pm
M op.c
M opcode.h
M pp.c
M regen/op_private
M t/op/lvref.t
commit 913dc28a045cda63f796a05305b819e3b59cbbdc
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 24056dd182a70be08d433dfe5c7c6d0049c9b4bc
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 403ecc5a5a130933487c3bf02289521cb12e30d6
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 a2189572a83db364ca529240c69aff595a2acc59
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 138875b76fbc73a6cb6ac3f174806683836d63ce
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 f779ac2691653d022ca31cd3f9afc987c3c45acd
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 3f24e0ce66e62b76c664d38aa468cb356118dab6
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 db15a99e53111371ab8fc3d2478fdcead8bdaff2
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 5ae09a91b017f60c13fc56d0d40b3c3828ffdbf4
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 20e56124b011f11e5fa2be048a6eff8fc8e08854
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 27ffa8877a48ab683b61859df5ca6d8d1affb8c0
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 embed.fnc
M embed.h
M op.c
M opcode.h
M pp.c
M proto.h
M regen/opcodes
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