Skip to content

Instantly share code, notes, and snippets.

@Whateverable
Created March 22, 2017 20:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Whateverable/6c7d160f99cb5e5874e5a2030219c8da to your computer and use it in GitHub Desktop.
Save Whateverable/6c7d160f99cb5e5874e5a2030219c8da to your computer and use it in GitHub Desktop.
bisectable6
say S:g:ii:nth(2) /m/g/ given "Lörem Ipsum Dolor Sit Amet"
Bisecting: 1855 revisions left to test after this (roughly 11 steps)
[45a3de3443d255b2ad0154f1dd1c53dd2258b260] Merge branch 'better-O' into nom
»»»»» Testing 45a3de3443d255b2ad0154f1dd1c53dd2258b260
»»»»» Cannot test this commit. Reason: Commit exists, but a perl6 executable could not be built for it
»»»»» Therefore, skipping this revision
»»»»» -------------------------------------------------------------------------
»»»»» Testing ecfb956bcf92488106a85f9462731095db11dfed
»»»»» Script output:
Lörem Ipsug Dolor Sit Amet
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 486155eb2af7160773bdb5ba80507a510fa52a64
»»»»» Script output:
Lörem Ipsug Dolor Sit Amet
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 53a7aca032f5f61e22a1795f67e4a81795a41e2b
»»»»» Script output:
Lörem Ipsug Dolor Sit Amet
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 2106914c8eca8eae6ff1c1dc9ffb8b8163d021e4
»»»»» Cannot test this commit. Reason: Commit exists, but a perl6 executable could not be built for it
»»»»» Therefore, skipping this revision
»»»»» -------------------------------------------------------------------------
»»»»» Testing 91a4ac5a671b7943793a8fdb13a2fda952671f71
»»»»» Script output:
P6opaque: no such attribute '$!reified' in type List when trying to get a value
in block <unit> at /tmp/7F1VUDb_SF line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing a256ef24e188ebbca513b5dfe96e3a1f8225e72c
»»»»» Script output:
Lörem Ipsug Dolor Sit Amet
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 07a9fbe9b99ec8ff5c23f9cd350db70225623b53
»»»»» Script output:
P6opaque: no such attribute '$!reified' in type List when trying to get a value
in block <unit> at /tmp/7F1VUDb_SF line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 7384939eb14767b63670e587b21e8bc2cb19fbab
»»»»» Script output:
P6opaque: no such attribute '$!reified' in type List when trying to get a value
in block <unit> at /tmp/7F1VUDb_SF line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 87d40ab183539730994d69e919649d91c8c2dc88
»»»»» Script output:
Lörem Ipsug Dolor Sit Amet
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 0152316f56121ecd6236b4539308cb8341cec6d8
»»»»» Script output:
Lörem Ipsug Dolor Sit Amet
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 951a441d10b57f5ac2570f7986785e6cf56c11a7
»»»»» Script output:
Lörem Ipsug Dolor Sit Amet
»»»»» Script exit code: 0
»»»»» Bisecting by exit code
»»»»» Current exit code is 0, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “old”
»»»»» -------------------------------------------------------------------------
»»»»» Testing bc53f6770f58d945289cfb949f04466580abe6b8
»»»»» Script output:
P6opaque: no such attribute '$!reified' in type List when trying to get a value
in block <unit> at /tmp/7F1VUDb_SF line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
»»»»» Testing 97359ae42e2ae467eb80d3228cb80e5febb6a547
»»»»» Script output:
P6opaque: no such attribute '$!reified' in type List when trying to get a value
in block <unit> at /tmp/7F1VUDb_SF line 1
»»»»» Script exit code: 1
»»»»» Bisecting by exit code
»»»»» Current exit code is 1, exit code on “old” revision is 0
»»»»» If exit code is not the same as on “old” revision, this revision will be marked as “new”
»»»»» Therefore, marking this revision as “new”
»»»»» -------------------------------------------------------------------------
97359ae42e2ae467eb80d3228cb80e5febb6a547 is the first new commit
commit 97359ae42e2ae467eb80d3228cb80e5febb6a547
Author: Zoffix Znet <cpan@zoffix.com>
Date: Wed Feb 1 15:29:15 2017 +0000
Fix result variables of S///; perlpilot++ for tips
Currently S/// uses $/ to store the result of its operation, which
clobbers the Matches it's supposed to have and causes numerous other
issues due to returning a container that's re-used on multiple S/// calls.
Fix by leaving the $/ alone (so it keeps the Match objects) and
using a temporary var instead.
Fixes RT#127822: https://rt.perl.org/Ticket/Display.html?id=127822
Fixes RT#130355: https://rt.perl.org/Ticket/Display.html?id=130355
Details of changes made to generated QAST:
- NEW: If we're doing S///, declare a local temp var with .unique() name
- OLD: store Str!APPLY-MATCHES in $_ for s/// or in $/ for S///
- NEW: with Str!APPLY-MATCHES, bind the result to our temp var if
doing S///, otherwise shove them into $_
- OLD: if doing S///, on failed match, store $_ in $/
- NEW: if doing S///, bind $_ to our temp var
- OLD: for global replacements, store List of results in $/ if doing s///
- NEW: do the same, regardless of whether we're doing s/// or S///
- OLD: return $/
- NEW: return $/ if doing s///; return our temp var if doing S///
:040000 040000 5f54c00ba670b491fd935445be74a2d5b127abd4 daaef45250eebbd1a6402ab3427938fb5cce844e M src
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment