In perl.git, the branch tonyc/smartmatch has been created
<http://perl5.git.perl.org/perl.git/commitdiff/ae42f1cf5e5071c5bf5bfd6c2060340bbd44420b?hp=0000000000000000000000000000000000000000>
at ae42f1cf5e5071c5bf5bfd6c2060340bbd44420b (commit)
- Log -----------------------------------------------------------------
commit ae42f1cf5e5071c5bf5bfd6c2060340bbd44420b
Author: Tony Cook <[email protected]>
Date: Thu Sep 10 13:56:20 2015 +1000
make when(/foo/) act like when(qr/foo/)
M op.c
M t/op/switch.t
commit 51953fd7021d8617bca54b2e67fca8d0ba884e55
Author: Tony Cook <[email protected]>
Date: Mon Jul 13 17:07:53 2015 +1000
add postfix when BLOCK
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perlsyn.pod
M t/op/switch.t
commit 633378c6b8acc3ad084552f364b1405fb55031bb
Author: Tony Cook <[email protected]>
Date: Mon Jul 13 16:20:30 2015 +1000
the behaviour of objects in overloading has changed
re-worked separately because we might re-instate the older behaviour
M pod/perlop.pod
commit b8808f2592a8398a3bfdc7305e2cbb37b315cbc7
Author: Tony Cook <[email protected]>
Date: Mon Jul 13 16:07:24 2015 +1000
rip out most of the smartmatch documentation, it's much simpler now
M pod/perlop.pod
commit 547afeb6442113f1a51fc9d4246d8b3dabbeb037
Author: Tony Cook <[email protected]>
Date: Tue Jul 7 14:13:51 2015 +1000
Warn at compile time where possible.
This commit probably needs work, and the very idea needs discussion.
M embed.fnc
M embed.h
M op.c
M pod/perldiag.pod
M proto.h
M t/lib/warnings/op
commit eaaaa3d966f9e1cf546c154c42daf3a0ee5f521a
Author: Tony Cook <[email protected]>
Date: Thu Jul 2 16:22:15 2015 +1000
reintroduce conversion of $foo ~~ /bar/ to $foo ~~ qr/bar/
This does not convert an implicit /bar/ as in when (/bar/)
M embed.h
M op.c
M opcode.h
M proto.h
M regen/opcodes
M t/op/smartmatch.t
commit 3d2cf6f7b6ee4014e160cdb67b948c459464d3b9
Author: Tony Cook <[email protected]>
Date: Thu Jul 2 14:14:54 2015 +1000
re-enable overload ~~ any
M pp_ctl.c
M t/op/smartmatch.t
commit 4566e61dcb942348f23aa85c0c384a12717ce0dd
Author: Tony Cook <[email protected]>
Date: Thu Jul 2 10:32:16 2015 +1000
update non-autodie tests to work under the new smartmatch limits
M ext/XS-APItest/t/grok.t
M pod/perldiag.pod
M t/lib/feature/switch
M t/op/coreamp.t
M t/op/smartmatch.t
M t/op/state.t
M t/op/switch.t
M t/op/taint.t
M t/op/tie_fetch_count.t
commit 1171bddd0dc4253997299f097ef36ca4c2075961
Author: Tony Cook <[email protected]>
Date: Mon Jun 22 14:06:29 2015 +1000
disallow smartmatches not explicitly permitted (runtime)
M pp_ctl.c
commit 1f6029e8b72af8405e426ba3b05ae088fee086c5
Author: Father Chrysostomos <[email protected]>
Date: Thu Sep 13 00:18:28 2012 -0700
New whirled order for givwhen/last/next
given now responds to last and next.
break only breaks out of given, and does not complain about an
inner foreach.
when and default do an implicit regular next, not a âspecialâ next
that only breaks out of foreach() and given.
M embed.fnc
M embed.h
M pod/perldiag.pod
M pp_ctl.c
M proto.h
M t/op/switch.t
commit 6aa82501a5abfc29698a77606cebcd6404372c7e
Author: Father Chrysostomos <[email protected]>
Date: Wed Sep 12 16:33:49 2012 -0700
toke.c: use goto to reduce repetitition
I couldnât think of a name for the label that didnât just repeat what
the code was doing (increment_lex_allbrackets_and_set_PL_expect), so I
gave it an arbitrary short name.
M toke.c
commit 84eab2223a7e23ab71093b7d1883000a07fbcff1
Author: Tony Cook <[email protected]>
Date: Tue Jun 23 15:15:18 2015 +1000
switch to done_testing()
M t/op/smartmatch.t
M t/op/switch.t
commit aa840373125f298a6dc2fb431373fe92bfb8689f
Author: Father Chrysostomos <[email protected]>
Date: Wed Sep 12 00:21:12 2012 -0700
Smart Match 3â¢
I was persuaded by Smylersâ argument concerning string equivalence:
<[email protected]>
But it is not too late for me to be overruled since this is not in
blead yet.
The list is:
RHS type
1. undef
2. ~~ overloading
3. reftype eq CODE
4. reftype eq REGEXP
5. fall back to eq
One question still remains: Should undef ~~ "string" give a warning?
Currently it doesnât, but neither does it call eq overloading on the
RHS if we actually have undef ~~ $overloaded_object_without_smartmatch.
This cannot be merged until we solve the fact that smart match
is used in:
cpan/autodie/lib/Fatal.pm
cpan/autodie/t/exceptions.t
This does not deal with loop controls yet, just smartmatch and the
smartmatch aspects of of givwhen.
M embed.fnc
M embed.h
M ext/XS-APItest/t/fetch_pad_names.t
M op.c
M opcode.h
M perl.h
M perly.act
M perly.h
M perly.tab
M perly.y
M pod/perldiag.pod
M pp_ctl.c
M proto.h
M regen/opcodes
M t/op/smartmatch.t
M t/op/switch.t
M t/op/taint.t
M toke.c
-----------------------------------------------------------------------
--
Perl5 Master Repository