In perl.git, the branch smartmatchtoo has been created <http://perl5.git.perl.org/perl.git/commitdiff/04eca4932e13bb4d6142487a84e96e6503d9d462?hp=0000000000000000000000000000000000000000>
at 04eca4932e13bb4d6142487a84e96e6503d9d462 (commit) - Log ----------------------------------------------------------------- commit 04eca4932e13bb4d6142487a84e96e6503d9d462 Author: Tony Cook <t...@develop-help.com> 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 fb71c9f3baf74ecf1270f43abe1df0b1ac42675b Author: Tony Cook <t...@develop-help.com> 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 4c33aee068432c746907956fc3c881758e04e8ca Author: Tony Cook <t...@develop-help.com> 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 b0c03a82edec3a11a11e505bff38f9c9e70b1e13 Author: Tony Cook <t...@develop-help.com> 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 2103f6dab71302b4bde5a7884bb7bae2e497d75a Author: Tony Cook <t...@develop-help.com> Date: Thu Jul 2 14:14:54 2015 +1000 re-enable overload ~~ any M pp_ctl.c M t/op/smartmatch.t commit ee1b3a11c232fe813b6eda4f83fb581324828c33 Author: Tony Cook <t...@develop-help.com> 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 8ce43f254e276072566fa77bd400048d3603e1df Author: Tony Cook <t...@develop-help.com> Date: Mon Jun 22 14:06:29 2015 +1000 disallow smartmatches not explicitly permitted (runtime) M pp_ctl.c commit ce8c9afc6b63f8e0f64604dbb164fd3e36531e31 Author: Father Chrysostomos <spr...@cpan.org> 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 85c544bba4eb379820cef4d81d2d43787649bc27 Author: Father Chrysostomos <spr...@cpan.org> 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 4a4c2e2e1f79edb4b921e085bd70e5ee451854c2 Author: Tony Cook <t...@develop-help.com> Date: Tue Jun 23 15:15:18 2015 +1000 switch to done_testing() M t/op/smartmatch.t M t/op/switch.t commit dc02c958c67dc80256eabc878d95c5a538003e5b Author: Father Chrysostomos <spr...@cpan.org> Date: Wed Sep 12 00:21:12 2012 -0700 Smart Match 3⢠I was persuaded by Smylersâ argument concerning string equivalence: <20120905143040.gz1...@stripey.com> 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