In perl.git, the branch tonyc/smartmatch has been created <http://perl5.git.perl.org/perl.git/commitdiff/db598054d47fbbe93cc2210f14ee9009f4d793a2?hp=0000000000000000000000000000000000000000>
at db598054d47fbbe93cc2210f14ee9009f4d793a2 (commit) - Log ----------------------------------------------------------------- commit db598054d47fbbe93cc2210f14ee9009f4d793a2 Author: Tony Cook <t...@develop-help.com> Date: Tue Nov 24 11:29:34 2015 +1100 add ~~x and x~~ overloads, deprecating ~~ overloads M gv.c M lib/overload.pm M lib/overload.t M lib/overload/numbers.pm M overload.h M overload.inc M pod/perldiag.pod M pp_ctl.c M regen/overload.pl M t/op/smartmatch.t commit 2820fc58ab358854eafb0ee4a750e53314c20229 Author: Tony Cook <t...@develop-help.com> Date: Tue Nov 24 10:09:25 2015 +1100 return a generic true/false for ~~ overloads rather than the return value of the overload method or function M lib/overload.t M pp_ctl.c M t/lib/warnings/9uninit M t/op/smartmatch.t commit 6f994fe624629db9c1199cee8b7f3e491cb36390 Author: Tony Cook <t...@develop-help.com> Date: Thu Sep 17 14:56:59 2015 +1000 make ~~ return a generic true/false with a subref on the right Previously it would return the value returned by the sub M pp_ctl.c M t/op/smartmatch.t commit 822045cd097ab0bcb5d8d56290fd8304857f5d1c Author: Tony Cook <t...@develop-help.com> 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 4a735d96fc33e79384e42c69576e70666839d184 Author: Tony Cook <t...@develop-help.com> 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 6c26b5cbe33fa17fd18c0240f552e4cb8334577b 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 29fc56beff8fa2d21299ed45491a8c3a398609f6 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 5810468a76649b02c22a26d768fa6d3294a3e66e 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 80c7fafb59727997387535cef878206511bc22c5 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 342837f780607c3849d47b56129ed64660d4adda 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 fcf8b9df9755e1672752975ea245c8d1e6f86c0e 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 91707f1b7b39295446ba114e23f20aaa96744dc7 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 6a2e19df4d3d5a08c665bd97b4ea8db027d2e30c 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 ae4a734c6b115113ebf3f144a0ab69abcc6d8430 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 e3915dc4f1d91ea7f794a90cb57af7b177973e13 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 b1b6cbd7dab1a2901766660f9dfc8f8649a506ed 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