{"push_id":2096629109,"size":10,"distinct_size":8,"ref":"refs/heads/feature/gh138-iter-and","head":"3c7def6e441c705b21153310fd6d255ec8cb14c1","before":"bc6659fa14a5b0336206314350fb0e13074361f5","commits":[{"sha":"1756e05cf2be2434d1d216e3df89098c4facd0c6","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpan.org"},"message":"fc: add more fc tests\n\nperl does NFKC composition for case-folding, not just NFD/FCD decomposition.\nSee the FC NFKC property.\nBut not consistently.\nE.g. fc \"\\x{1F0A}\\x{345}\" => \"\\x{1F02}\\x{3B9}\", but should be \"\\x{1F82}\"\nif normalized to NFC.  But it denormalizes to NFD (aka FCD):\nfc \"\\x{1F8A}\" => U+1F82 => U+1F02 + U+03B9\n\nSee [cperl #332]","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/1756e05cf2be2434d1d216e3df89098c4facd0c6"},{"sha":"21c4f66ad5f8d8a835c0ed04d991216e5012cbed","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpan.org"},"message":"utf8: indent only","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/21c4f66ad5f8d8a835c0ed04d991216e5012cbed"},{"sha":"18865958d7418d5d4d64a002ea3a6f686a5e2d9e","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"iter: disable unroll loop for now\n\nit is only a TODO -Dkv message right now.","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/18865958d7418d5d4d64a002ea3a6f686a5e2d9e"},{"sha":"cf2f44ee5bd63c06dc253f1621f3e480508ff234","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"iter: change to UNOP WIP\n\ninline the subsequent OP_AND into OP_ITER\n\nnot a LOGOP since op_first is the same as op_next,\nand is not needed here.\nOTHER is always either yes or no,\niter produces it by itself.\nfirst: yes (continue), next: no (leaveloop)\n\nSee #138","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/cf2f44ee5bd63c06dc253f1621f3e480508ff234"},{"sha":"93795cde5f204b6d62774d0b568f01935e935586","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"iter: make it a LOGOP\n\nto please postfix re-ordering, which fixes up\nthe sibling and next ptrs.\nThis way peep and ck have less problems, even if it\nwastes an unneded op_first ptr. This is true for all\nLOGOPs btw. where op_first is only needed for kids during\ncompilation.\n\nNote: This version is still a hack. We still have to fixup the loop\nlinklist (next ptrs) in rpeep.\n\nSpecial-case newOP for OP_ITER in newWHILEOP to reserve 2 ptrs.\nnewUNOP would alloc an unneded STUB and newLOGOP is too heavy\nand too early.\n\nAlso fix op_dump for iter.","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/93795cde5f204b6d62774d0b568f01935e935586"},{"sha":"6773d54bd08f6e1ab57fd8c2f1957253512d87a2","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"iter: close iter hack in rpeep\n\nthe structure is already ok from newWHILEOP.","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/6773d54bd08f6e1ab57fd8c2f1957253512d87a2"},{"sha":"c00d409d092e3ed5f53099d1772b37f1d5043c6b","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"iter: expr->first -> null dummy\n\nexpr is a tree, with kids.\nother is the block to be executed in the loop.\nset expr->first not empty, but need a fresh null op without siblings.\nexpr->next -> leave\n\nalso need to fixup the relink the final tree in postfix order,\nthe next and parents.","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/c00d409d092e3ed5f53099d1772b37f1d5043c6b"},{"sha":"d264df523aeef30226e4620b463b7d00a9f0b54e","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpan.org"},"message":"iter: relink range and nested loopvar WIP\n\nglobal $_ loopvar or refs are nested: rv2gv -> gv _\nwith `for $_ ()`, or `for \\$ref ()`.\n\nAlso handle missing a loop var when a lexical.\n\nNote that a normal scalar symbol itervar $sv or $_ must be always\nrv2gv - gv, as enteriter/cx_pushloop_for can only handle gv or pad\nitervars, a sv is always a magic ref.\nThis should be changed to allow fast non-lexical GVSV itervars.\nOnly implicit $_ is pretty fast this way, as it does not need a rv2gv deref.\n\n- This passes all t/op/for.t tests, but crashes with make_patchnum\n at pp_iter_ary: corrupt cx->blk_loop.state_u.ary.ary\n in a nested loop.\n\nnested loops:\nSEGV:\n gmpb -Dtsk -e'@a=(0..1);for my $a (@a) { print $_ for (@a) }'\npanic:\n gmpb -Dtxk -e'my @names=qw(1 2);for my $n (@names) { for my $x (keys %ENV){print $x}}'","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/d264df523aeef30226e4620b463b7d00a9f0b54e"},{"sha":"e910cfe7243d54b7b294a14978d1c68fae2258e5","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpan.org"},"message":"t/op/for.t: add failing testcases\n\nfor nested loops.\nfirst segfaults (wrong next ptr),\nsecond panics with wrong pp_iter, unhandled CXt type=4.\nprobably same root cause.","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/e910cfe7243d54b7b294a14978d1c68fae2258e5"},{"sha":"3c7def6e441c705b21153310fd6d255ec8cb14c1","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpan.org"},"message":"wip: simplify OpNEXT(OpLAST(listop))\n\nTODO: LINKLIST loop corrupts the LOGOP->OTHER ptr?","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/3c7def6e441c705b21153310fd6d255ec8cb14c1"}]}
{"actor":{"display_login":"rurban"}}