MasterDuke RT #123572 00:05
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=123572
Zoffix m: with '/tmp/foo88'.IO { .spurt: "a\r\nb\r\nc"; with .open(:nl-in("\n")) { dd .lines } } 00:43
camelia ("a", "b", "c").Seq
Zoffix (never mind; had an idea but it won't work) 00:44
Geth rakudo/newer-cat-handle: e657ed140b | (Zoffix Znet)++ | src/core/IO/CatHandle.pm
[io grant] Implement IO::CatHandle.chomp/.nl-in
00:58
roast/newer-cat-handle: f48c26e304 | (Zoffix Znet)++ | S32-io/io-cathandle.t
[io grant] Test IO::CatHandle.chomp/.nl-in
00:59
samcv ok i figured out the problem. well what's causing it at least. 01:04
idk i still don't understand why but. 01:05
i've tracked down the exact commit
Geth rakudo/newer-cat-handle: dafb060360 | (Zoffix Znet)++ | src/core/IO/CatHandle.pm
Change IO::CatHandle.close semantics

  .close now exhausts the CatHandle, closing any open handles and then
nixing the handle que and Nil'ing the active handle
roast/newer-cat-handle: 9ebee4d4ee | (Zoffix Znet)++ | S32-io/io-cathandle.t
Test new cat handle .close semantics
samcv u: help 01:07
unicodable6 samcv, Just type any unicode character or part of a character name. Alternatively, you can also provide a code snippet. # See wiki for more examples: github.com/perl6/whateverable/wiki/Unicodable
samcv unidump: ā™„ 01:08
unicodable6 samcv, gist.github.com/cb23bca12098f47696...f22220d49b
Geth roast/newer-cat-handle: 8afd75831f | (Zoffix Znet)++ | S32-io/io-cathandle.t
[io grant] Test IO::CatHandle.DESTROY
samcv ok was wondering if it had Emoji_Base. looks like only hase Emoji=True 01:09
Geth roast/newer-cat-handle: ea1d99a4dc | (Zoffix Znet)++ | S32-io/io-cathandle.t
Clean up placeholder test blocks

  .nl-in is already tested and .flush is NYI; tested in Rakudo's suite
01:10
Zoffix no more placeholder tests; no more stubs \o/ cathandle merge tonight \o/ 01:11
samcv jnthn, yes i think it's related to the buffer... NFG_QC=False characters are what mess it up 01:12
so it wasn't that commit that caused it. i think the bug has been there before. the commit just set Emoji codepoints to have NFG_QC=False
m:my $f1 = "/tmp/foo121212".IO; $f1.spurt: "foā™„22"; $f1.open.readchars(2).say 01:13
evalable6 foā™„22
ugexe Supply.migrate/merge and CatHandle seem to be pretty similar
samcv m: my $f1 = "/tmp/foo121212".IO; $f1.spurt: "foā™„22a"; $f1.open.readchars(2).say
camelia fo
ugexe might make sense to make them use a similar api
samcv but if i add something with NFG_QC=True to the end of it. then it seems to work
m: my $f1 = "/tmp/foo121212".IO; $f1.spurt: "fo2ā™„22a"; $f1.open.readchars(2).say
camelia fo
Zoffix doesn't see any similarities 01:15
"Creates a supply that acts like the last supply emitted to the given supply of supplies (usually created with start."
.oO( wat? )
samcv argh 01:18
ugexe Zoffix: so in CatHandle it would mean you could do something like expose $!handle (if it were a supply anyway) despite the fact it changes what is supplying $.supply 01:24
Zoffix is still not following 01:27
cathandle is meant to be mostly-substitutable for any place that takes an IO::Handle. Its API is already locked up
AlexDaniel shouldn't it say ā€œusually created with Supply.startā€ to make it clearer? 01:28
ugexe e.g. `my $ch = CatHandle.new; my $handle = $ch.handle; #`do cathandle stuff` is $.handle === $handle anymore? who knows 01:30
Supply.migrate gives you an aggregator where that works 01:31
samcv what email am i supposed to send RT replies to? 01:34
er wait nvm i think my outgoing mailbox is not working atm
Zoffix m: -> \new { say new if $++ }(42) 02:30
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntax
at <tmp>:1
------> 3-> \new { say new if 7ā5$++ }(42)
Zoffix I really want a "I'm coding Perl 6, not whatever other language you think I'm trying to code, so stfu"
option
Hell, I don't think I wrote a single line of C++ code in my life. 02:32
samcv haha
did not know we had that..
Zoffix m: my $z is default(Nil); dd $z; class Foo { has $!z is default(Nil); method x { dd $!z } }.new.x 02:34
camelia Nil $z = Nil
Any $!z = Any
Zoffix Filed as: rt.perl.org/Ticket/Display.html?id=131387 02:36
Cat handle bug discovery count: 4 \o/
Geth rakudo/newer-cat-handle: a452e42de4 | (Zoffix Znet)++ | src/core/IO/CatHandle.pm
[io grant] Implement IO::CatHandle.on-switch
02:41
roast/newer-cat-handle: c7eff2b444 | (Zoffix Znet)++ | S32-io/io-cathandle.t
[io grant] Test IO::CatHandle.on-switch
02:42
roast/newer-cat-handle: e87e20d8d9 | (Zoffix Znet)++ | S32-io/io-cathandle.t
[io grant] Test IO::CatHandle.next-handle
02:50
Zoffix Well, here goes nothing... 02:52
Zoffix swaps IO::ArgFiles to be IO::CatHandle
ZofBot: place your bets. How many roast failures will we get? I'm betting $100 on zero 02:53
ZofBot Zoffix, How that is subsequently treated depends on its eventual binding
Zoffix aw, crap. Lost a $100! 02:57
Oh, right. I forgot to amend the instantiation logic of $*ARGFILES. Maybe I haven't lost it yet :P 02:58
oh man; yeah, lost the $100 03:06
Zoffix switches to 6.c-errata 03:07
well, there's at least 1 failure :\ 03:08
w00t, just 1 failure 03:10
"Can change $*IN.nl-in and it has effect"
I'm gonna change it. It should be setting $*ARGFILES.nl-in, not $*IN.nl-in 03:12
Ah, actually maybe I won't need to. `my $cat = IO::CatHandle.new($*IN); $*IN.nl-in = "x"; say $cat.lines` this works, so wtf 03:17
Ah, I know why. $*ARGFILES isn't actually setup until you try to access the variable 03:18
k, I'm gonna go with changing 6.c-errata test and making an argument why the test is wrong 03:19
Actually no; I'm gonna use $*IN's attributes to set $*ARGFILES's attrs and the test will pass as is. 03:21
It's still a wrong way to change line separator when reading from $*ARGFILES, but I then won't need to change any 6.c-errata test 03:22
yey clean 6.c stresstest (there are 4 failures in t/spec/S03-operators/mix. but it don't look like my doing) 03:34
Geth roast/newer-cat-handle: 06146ae54d | (Zoffix Znet)++ | S16-filehandles/argfiles.t
Throw out incorrect IO::ArgFiles.slurp tests

The tests were added[^1] 6 months ago and are not part of 6.c-errata.
The :bin/:enc .slurp slurps in is controlled via the handle's attributes, not arguments to .slurp method.
  [1] github.com/rakudo/rakudo/commit/15f51a52bd
03:38
Zoffix oh; forgot to add ^ and that's already tested in S32-io/io-cathandle.t so I threw out the tests instead of fixing them, since that'd be redundant 03:39
Geth roast/newer-cat-handle: 914845afe4 | (Zoffix Znet)++ | S16-io/words.t
Fix words() with no args test

The test was added[^1] 1 month ago and is not part of 6.c-errata.
CatHandle'd argfiles are instantiated with positionals and not :args[] attr
  [1] github.com/perl6/roast/commit/8f78...4eb9c9b3f5
03:43
Zoffix Well, that was unexpectedly unpainful 03:45
ZOFVM: Files=1247, Tests=136915, 115 wallclock secs (22.76 usr 3.17 sys + 2372.40 cusr 129.73 csys = 2528.06 CPU)
Geth rakudo/newer-cat-handle: f539a62404 | (Zoffix Znet)++ | 2 files
[io grant] Swap IO::ArgFiles to IO::CatHandle impl
03:47
Zoffix " Canā€™t automatically merge. Donā€™t worry, you can still create the pull request." gawd dammit
Ah. it's the argfiles 03:49
Geth rakudo/newer-cat-handle: 85710a71c0 | (Zoffix Znet)++ | src/core/CompUnit/PrecompilationRepository.pm
Close unit's file handle after reading in the bytecode

A file is left open on Windows, so it prevents it from being worked on.
Fixes RT#131378: rt.perl.org/Ticket/Display.html?id=131378
03:50
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131378
Zoffix still conflict wtf 03:51
Geth rakudo: zoffixznet++ created pull request #1089:
IO::CatHandle impl
03:52
Zoffix looks like Geth/github doesn't like 150+ commit merges 03:55
Geth roast: zoffixznet++ created pull request #272:
IO::CatHandle tests
03:56
roast/master: 82 commits pushed by (Zoffix Znet)++, (Elizabeth Mattijsen)++, usev6++, (Jonathan Worthington)++, dogbert17++
review: github.com/perl6/roast/compare/f3e...2e0f3d8c1f
Zoffix ZofBot: happy midnight! 04:02
ZofBot ( no output ) m: dd Nil
Zoffix ZOFVM: Files=1247, Tests=136915, 119 wallclock secs (22.47 usr 2.96 sys + 2397.25 cusr 135.55 csys = 2558.23 CPU) 04:29
BenGoldberg m: my $a = :a('b'); say $a.key; 05:18
camelia a
BenGoldberg m: my $a = :a('b'); say $a.:key;
camelia Cannot resolve caller new(Pair: Pair, Str, Bool); none of these signatures match:
(Pair $: Cool:D \key, Mu \value, *%_)
(Pair $: Mu \key, Mu \value, *%_)
(Pair $: Mu :$key!, Mu :$value!, *%_)
in block <unit> at <tmp> line 1
BenGoldberg wonders how useful it would be if $object.:methodname was syntactic sugar for methodname => $object.methodname 05:20
Geth rakudo/nom: a0b6f6b839 | (Zoffix Znet)++ | src/core/IO/CatHandle.pm
Remove useless .eof call

We already know what it'll return due to previous loop filtering out all the True values from it.
05:25
Zoffix m: (my $f1 = '/tmp/x42foo'.IO).spurt: 'I ā™„ Perl'; (my $f2 = '/tmp/x42bar'.IO).spurt: 'meow'; my $cat = IO::CatHandle.new: $f1, $f2; .say while $_ = $cat.getc; 05:30
camelia I

ā™„

P
e
rl
m
e
o
w
Zoffix points at `rl` part
Seems same bug as .readchars I reported a few hours back
m: IO::CatHandle.new.perl.say 05:34
camelia IO::CatHandle.new(chomp => Bool::True, nl-in => $["\n", "\r\n"], encoding => "utf8", on-switch => Callable, path => Any, chomp => Bool::True, nl-in => $["\n", "\r\n"], nl-out => "\n", encoding => "utf8")
Zoffix looks like Mu.perl grabs all the attributes, even the ones the subclass overrides
or "shadows"
m: use nqp; dd @(nqp::list).perl 05:36
camelia Cannot find method 'cache': no method cache and no .^find_method
in block <unit> at <tmp> line 1
Zoffix What's the trick to turn nqp::list into List or Array?
m: use nqp; my $l := nqp::list; nqp::push($l, 42); dd nqp::p6bindattrinvres([], List, '$!reified', $l).perl 05:40
camelia "[42]"
Zoffix guess that does the trick
llfourn Zoffix: is there any plan to make .dirname and .absolute on IO::Path return an IO::Path? 05:57
(rather than a Str) 05:58
Zoffix llfourn: no
.absolute is one of the two ways to stringify an IO::Path (the second being .relative)
And .dirname is part of .parts; all Str objects as well
llfourn Zoffix: rgr that. Thanks. 05:59
Geth rakudo/nom: fa7aa1c369 | (Zoffix Znet)++ | src/core/IO/CatHandle.pm
[io grant] Implement IO::CatHandle.perl method
06:22
roast: 28717f097e | (Zoffix Znet)++ | S32-io/io-cathandle.t
[io grant] Test IO::CatHandle.perl method
roast: 55c35fb760 | (Zoffix Znet)++ | S32-io/io-cathandle.t
Spec IO::Handle.on-switch args past queue exhaustion
06:55
nine Good morning! 07:16
yoleaux 26 May 2017 16:39Z <brrt> nine: that it is supposed to be one of those 'viral replacement' deals
27 May 2017 12:14Z <Zoffix> nine: would you double check this commit? It fixes my Windows gmake install bug, but I'm not 100% sure if the close is in the right place: github.com/rakudo/rakudo/commit/0c5fe56cc9
Zoffix \o 07:17
.oO( it's morning already? )
ZofBot: time for a cupacoffee
ZofBot Zoffix, chdir method chdir(:$CWD = $*CWD --> Bool) Like "chdir()", but with "
nine Zoffix: unfortunately I don't think your fix is correct. CompUnit::Loader::load-precompilation-file calls nqp::loadbytecodefh which on MoarVM will mmap the file for lazy reading. The file will be closed by the resulting CompUnit's destructor as up until then, we could lazily read from the precomp file. 07:18
Zoffix OK. I'll revert it and re-open the ticket.
Geth rakudo/nom: a8b67641b0 | (Zoffix Znet)++ | src/core/IO/CatHandle.pm
Add return type constraint to CatHandle.opened

For consistency
07:19
Zoffix ZOFFLOP: t/spec/S11-modules/nested.t 07:24
Geth rakudo/nom: f027779177 | (Zoffix Znet)++ | src/core/CompUnit/PrecompilationRepository.pm
Revert "Close unit's file handle after reading in the bytecode"

This reverts commit 0c5fe56cc97696527912fa2077451227e910ea0b.
Per: irclog.perlgeek.de/perl6-dev/2017-...i_14648278
nine I wonder why this issue hasn't appeared earlier. 07:25
Zoffix I think ugexe said they experienced it intermintently in the past. 07:29
nine Oh, wait a minute! 07:33
Your fix might have been correct after all. From mmap (3p): "The mmap() function shall add an extra reference to the file associated with the file descriptor fildes which is not removed by a subsequent close() on that file descriptor. This reference shall be removed when there are no more mappings to the file." 07:34
Looks like we are allowed to close the fd from which we mmapped. 07:35
Zoffix man, the handle .read/.readchars/.Supply arg-taking inconsistency is uncomfortably obvious when methods are documented in alphabetical order :( 07:38
worse, the defaults use $*DEFAULT-READ-ELEMS, which isn't specced :/ 07:39
Geth rakudo/nom: 8ec4dc5bbf | (Stefan Seifert)++ | src/core/CompUnit/PrecompilationRepository.pm
Revert "Revert "Close unit's file handle after reading in the bytecode""

This reverts commit f027779177593ea5bf07d3ac7ee06591af0d7946.
  Zoffix++'s fix may actually have been correct after all.
From mmap (3p): "The mmap() function shall add an extra reference to the file associated with the file descriptor fildes which is not removed by a subsequent close() on that file descriptor. This reference shall be removed when there
  are no more mappings to the file."
As I don't see any alternative fix anyway, let's give this an honest try.
07:44
nine Sorry for the noise
Zoffix cool 07:46
How disappointing. Stayed up to finish IO::CatHandle docs and my internet goes down right when I'm done with them, so I can't commit :( 08:27
ZofBot: I want a refund
ZofBot Zoffix, --execute, -e *line* Execute a single-line program in lax mode
Zoffix huh
Now someone is trolling me... It went back up as soon as I typed ^ that 08:28
\o/
Geth rakudo/nom: 87d0e0a39e | (Elizabeth Mattijsen)++ | src/core/Baggy.pm
Fix for #131386, spotted by zostay++

An empty Baggy doesn't have the underlying hash allocated: we need to keep thinking about that. Please note that the binding to $raw can go once we've made %!elems a low level hash itself.
08:42
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131386
[Tux] This is Rakudo version 2017.05-276-g87d0e0a39 built on MoarVM version 2017.05-25-g62bc54e9 08:50
csv-ip5xs 2.745
test 12.861
test-t 4.463 - 4.514
csv-parser 13.319
I will do a reboot soonish and retest after that
Zoffix buggable: eco speed 4 08:53
buggable Zoffix, Nothing found
Zoffix buggable: speed 4
buggable Zoffix, ā–„ā–ā–‚ā– data for 2017-05-27ā€“2017-05-28; range: 4.439sā€“4.640s; 4% faster
Zoffix buggable: speed 6 08:54
buggable Zoffix, ā–ā–†ā–‡ā–ƒā–…ā–„ data for 2017-05-26ā€“2017-05-28; range: 4.286sā€“4.640s; 4% slower
Zoffix buggable: speed 20
buggable Zoffix, ā–‚ā–‚ā–ā–ā–‡ā–‡ā–‚ā–‚ā–ā–ā–ƒā–‚ā–ƒā–„ā–‚ā–‡ā–ˆā–…ā–†ā–… data for 2017-05-19ā€“2017-05-28; range: 4.225sā€“4.640s; 5% slower
Zoffix m: my \term:<????> = -42; say ????; say ????.abs; say "{????}"; my $foo = ''; say "{????.abs}:$foo" for ????.abs 09:07
camelia -42
42
-42
42:
Zoffix m: '/tmp/file1'.IO.spurt: "a\nb\nc"; '/tmp/file2'.IO.spurt: "d\ne\n"; '/tmp/file3'.IO.spurt: "f\ng\nh\ni"; my $line; my \term:<????> = IO::CatHandle.new('/tmp/file1', '/tmp/file2'.IO, '/tmp/file3'.IO.open, :on-switch{ $line = 1 }); say "{????.path}:$line $_" for ????.lines
camelia 5===SORRY!5=== Error while compiling <tmp>
Bogus statement
at <tmp>:1
------> 3 :on-switch{ $line = 1 }); say "{7ā5????.path}:$line $_" for ????.lines
expecting any of:
prefix
term
Zoffix m: '/tmp/file1'.IO.spurt: "a\nb\nc"; '/tmp/file2'.IO.spurt: "d\ne\n"; '/tmp/file3'.IO.spurt: "f\ng\nh\ni"; my $line; my \x = IO::CatHandle.new('/tmp/file1', '/tmp/file2'.IO, '/tmp/file3'.IO.open, :on-switch{ $line = 1 }); say "{x.path}:$line $_" for x.lines
camelia /tmp/file1:1 a
/tmp/file1:1 b
/tmp/file1:1 c
/tmp/file2:1 d
/tmp/file2:1 e
/tmp/file3:1 f
/tmp/file3:1 g
/tmp/file3:1 h
/tmp/file3:1 i
Zoffix Wonder what exactly is making it unhappy in the middle version :| 09:08
m: '/tmp/file1'.IO.spurt: "a\nb\nc"; '/tmp/file2'.IO.spurt: "d\ne\n"; '/tmp/file3'.IO.spurt: "f\ng\nh\ni"; my $line; my \term:<x> = IO::CatHandle.new('/tmp/file1', '/tmp/file2'.IO, '/tmp/file3'.IO.open, :on-switch{ $line = 1 }); say "{x.path}:$line $_" for x.lines 09:12
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
x used at line 1
Zoffix m: my \term:<x> = 42; say x.path
camelia "42".IO
Zoffix Filed as rt.perl.org/Ticket/Display.html?id=131389 09:14
.tell PerlJam IIRC it was you who lamented impossibility of Perl 5's `$.` for $*ARGFILES var in Perl 6. It's no longer impossible ($*ARGFILES is IO::CatHandle now): twitter.com/zoffix/status/868761719639871488 09:33
yoleaux Zoffix: I'll pass your message to PerlJam.
Zoffix drops to bed
[Tux] Error encoding UTF-8 string: could not encode codepoint 1480095 (0x16959F), codepoint out of bounds. Cannot encode higher than 1114111 (0x10FFFF) 10:08
bi-directional utf8-c8
samcv [Tux], that's with your test yo ushowed me earlier? or was that somebody else i'm forgetting 11:06
jnthn utf8-c8 probably shouldn't care and just encode it anyway 11:09
Or it should spot it's a surrogate on the way in and emit synthetics for the bytes
timotimo yeah, it should 11:21
[Tux] samv: github.com/Tux/CSV/blob/master/88.t 11:26
lizmat nxadm.wordpress.com/2017/05/28/so-...endencies/ 11:56
[Tux] This is Rakudo version 2017.05-276-g87d0e0a39 built on MoarVM version 2017.05-25-g62bc54e9 12:17
csv-ip5xs 2.695
test 12.869
test-t 4.344 - 4.368
csv-parser 13.193
dogbert17 m: (my $baz) = 11, 13; say $baz.perl; 13:26
camelia $(11, 13)
dogbert17 commit: 2016.06 (my $baz) = 11, 13; say $baz.perl; 13:27
committable6 dogbert17, Ā¦2016.06: Ā«$(11, 13)Ā»
dogbert17 commit: 2016.01 (my $baz) = 11, 13; say $baz.perl;
committable6 dogbert17, Ā¦2016.01: Ā«$(11, 13)Ā»
dogbert17 commit: 2015.11 (my $baz) = 11, 13; say $baz.perl; 13:28
committable6 dogbert17, Ā¦2015.11: Ā«$(11, 13)Ā»
[Tux] changes .travis.yml 13:30
what is the zef invocation for <<panda installdeps .>>? 13:31
dogbert17 FLAGS 13:35
--depsonly Install only the dependency chains of the requested distributions
dogbert17 guesses 'zef install --depsonly <module>' 13:36
commit: 2016.06 my ( @foo, $bar ); @foo = ($bar) = 42, "str"; say @foo.perl
committable6 dogbert17, Ā¦2016.06: Ā«[(42, "str"),]Ā»
dogbert17 commit: 2016.01 my ( @foo, $bar ); @foo = ($bar) = 42, "str"; say @foo.perl
committable6 dogbert17, Ā¦2016.01: Ā«[(42, "str"),]Ā»
dogbert17 commit: 2016.01 my ( @array, $num ); @array = $num = 42, "str"; say $num.perl 13:40
committable6 dogbert17, Ā¦2016.01: Ā«42Ā»
dogbert17 commit: 2015.11 my ( @array, $num ); @array = $num = 42, "str"; say $num.perl 13:42
committable6 dogbert17, Ā¦2015.11: Ā«42Ā»
dogbert17 commit: 2015.06 my ( @array, $num ); @array = $num = 42, "str"; say $num.perl
committable6 dogbert17, Ā¦2015.06: Ā«$(42, "str")Ā»
dogbert17 wonders if this could have been a GLR change 13:43
moritz assignment of a scalar to a list never produced a flat list, iirc 13:49
[Tux] travis-ci.org/Tux/CSV/jobs/236888669 => travis-ci.org/Tux/CSV/jobs/236888669#L455 Out of memory 14:01
anything I need to set for travis to pass jvm?
dogbert17 moritz: thx, I'm going through the examples in docs.perl6.org/language/variables atm. What do you think of the following text from that same pod: 14:11
github.com/perl6/doc/blob/master/d....pod6#L116
it must have worked as described at some point I guess
moritz huh, it actually works 14:18
I'm wrong
but $num contains 42, not the whole array
it's parsed as @array = (($num = 42), "str")
dogbert17 moritz: I wonder if that paragraph should be removed, what do you think? 14:20
moritz dogbert17: I'm rewriting it right now 14:21
dogbert17 moritz++ 14:24
m: for <ab:c d$e fgh ij*> { .say if m/<!alpha>/; } # from the same pod 14:29
camelia ab:c
d$e
fgh
ij*
dogbert17 commit: 2015.06 for <ab:c d$e fgh ij*> { .say if m/<!alpha>/; } # from the same pod
committable6 dogbert17, Ā¦2015.06: Ā«ab:cā¤d$eā¤fghā¤ij*Ā»
Zoffix buggable: speed 6 15:03
buggable Zoffix, ā–†ā–ƒā–„ā–ƒā–ā– data for 2017-05-27ā€“2017-05-28; range: 4.344sā€“4.640s; 6% faster
Zoffix *phew*
Zoffix is glad the speed did not worsen with the cat handle merge
dogbert17 [Tux] rebooted his computer for an instant speed boost :) 15:06
Zoffix :) 15:07
Zoffix regrets a bit not taking time to dig deeper into the whole IO::Notification business 15:50
Creating new file seems to send FileChanged + FileRenamed but sometimes sends two FileChanged events :S
My tests will be flopping 15:52
Though I notice .watch-path already got some tests under S17-supply.. 15:53
Future-Zoffix: if you ever need the IO::Notification tests you started writing again: gist.github.com/zoffixznet/7c80faf...b11cdca9b6
oh damn there are only macosx tests 15:55
ugexe does that $unit.close code only work because load-precompilation-file() uses different file ops than regular perl6 IO stuff? 16:43
Zoffix ZOFVM: Files=1247, Tests=136915, 116 wallclock secs (22.07 usr 3.22 sys + 2337.54 cusr 139.44 csys = 2502.27 CPU) 16:53
Geth rakudo/nom: 8027cc9b2c | (Zoffix Znet)++ | 3 files
Make IO::Spec::*.split an `only` method
16:58
Zoffix ZOFFLOP: t/spec/S17-supply/batch.t 17:10
Geth rakudo/nom: cd6ae22626 | (Zoffix Znet)++ | src/core/IO/Spec/Cygwin.pm
Make IO::Spec::Cygwin.split's return type consistent

With other Specs
rakudo/nom: 6ca702fa3d | (Zoffix Znet)++ | src/core/IO/Spec/Unix.pm
[io grant] Make IO::Spec::Unix.splitdir 7.7x faster
17:35
Zoffix NeuralAnomaly, status 17:42
yoleaux 17:42Z <ufobat> Zoffix: thanks!
NeuralAnomaly Zoffix, [āœ˜] Next release will be in 2 weeks and 5 days. Since last release, there are 25 new still-open tickets (22 unreviewed and 0 blockers) and 277 unreviewed commits. See perl6.fail/release/stats for details
Zoffix 277 commits already? methinks all that branch merging duplicated some commits (as far as perl6.fail is concerned anyway) 17:43
Yup. 17:44
Need better code for it
Geth rakudo/nom: 2816ef7166 | (Zoffix Znet)++ | src/core/IO/Spec/Win32.pm
[io grant] Make IO::Spec::Win32.splitdir 25x faster
17:53
rakudo/nom: f8b63f257a | (Zoffix Znet)++ (committed using GitHub Web editor) | src/core/Rakudo/Iterator.pm
Fix typo in comment
17:55
Zoffix "91.16% 18:05
Oh yeah :) the final stretch of IO grant \o/
why have .split and .splitpath :/ 18:56
IO::Spec* stuff is ridiculous 18:57
I thik the speculations mention it's modeled after File::Spec... That module always felt odd 18:58
lizmat bisectable: my $h = %(); say $h.^name 19:03
bisectable6 lizmat, On both starting points (old=2015.12 new=f8b63f2) the exit code is 0 and the output is identical as well 19:04
lizmat, Output on both points: Ā«HashĀ»
lizmat bisectable: help
bisectable6 lizmat, Like this: bisectable6: old=2015.12 new=HEAD exit 1 if (^āˆž).grep({ last })[5] // 0 == 4 # See wiki for more examples: github.com/perl6/whateverable/wiki/Bisectable
lizmat bisectable: old=2017.04.3 my $h = %(); say $h.^name
bisectable6 lizmat, On both starting points (old=2017.04.3 new=f8b63f2) the exit code is 0 and the output is identical as well
lizmat, Output on both points: Ā«HashĀ»
Zoffix c: all my $h = %(); say $h.^name
committable6 Zoffix, Ā¦all (41 commits): Ā«HashĀ» 19:05
lizmat ok, then I don't know what brian was on :-)
Zoffix m: my $h = %( ); say $h.^name 19:06
camelia Hash
Zoffix m: my $h = %(); say $h.^name
camelia Hash
ugexe probably also worked better for the old spec of IO::File(:uri<>) or whatever, since it'd probably need to split different parts of the url
lizmat bisectable: old=2015.12 my $h = %(); say $h.^name
bisectable6 lizmat, On both starting points (old=2015.12 new=f8b63f2) the exit code is 0 and the output is identical as well 19:07
lizmat, Output on both points: Ā«HashĀ»
Zoffix I get Hash for both in REPL and perl6 -e "" on Win10 on bdfoy's version 19:08
Geth rakudo/nom: b3cd299e1c | (Zoffix Znet)++ | src/core/IO/Handle.pm
Throw on IO::Handle.comb/.split when in bin mode
19:44
BenGoldberg Why does IO::Handle have both behavior for both binary files and text files in it? 20:01
Zoffix BenGoldberg: as opposed to... ? 20:02
BenGoldberg Wouldn't it make more sense to have classes IO::Handle::Binary and IO::Handle::Text, which would be subclasses of IO::Handle? 20:03
You could eliminate all of the tests for if($!decoder)
Zoffix BenGoldberg: but you can switch from binary to non-binary and back while reading a stream 20:04
BenGoldberg Use Metamodel::Primitives.rebless? :) 20:05
Zoffix :)
Geth rakudo/nom: f0eb245028 | usev6++ | t/spectest.data
Don't run S19-command-line/repl.t on JVM

All tests from that file do currently hang with rakudo-j.
Should be reverted once RT #131393 is resolved.
20:10
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131393
Geth rakudo/nom: 21fd2c4ade | (Zoffix Znet)++ | src/core/IO/Path.pm
[io grant] Remove IO::Path.watch

There are zero tests for it and the whole notifications business is quite rough on the edges and probably needs more work. Remove the method so we don't lock ourselves into supporting some API that might not be suitable once notifications are sorted out.
The functionality is still available via IO::Notification.watch-path: $path
20:11
lizmat Zoffix: there *rae* tests for IO::Path.watch, afaik 20:13
*are rather
Zoffix All tests successful.
Files=1247, Tests=136915, 116 wallclock secs (22.21 usr 3.16 sys + 2357.40 cusr 128.34 csys = 2511.11 CPU) 20:14
Result: PASS
Geth roast: f5e26792a3 | usev6++ | 3 files
[JVM] Add ticket number to fudge messages
Zoffix zoffix@VirtualBox~/CPANPRC/rakudo/t/spec (master)$ grep -FR '.watch' 20:15
S17-supply/watch-path.t: my $s = IO::Notification.watch-path('.').grep({.path eq $filename}).unique;
zoffix@VirtualBox~/CPANPRC/rakudo/t/spec (master)$
lizmat: ther are OSX tests for .watch-path but I'm not seeing any others. And stresstest passed on the removal
lizmat yeah, a. that's because nobody took the trouble of writing any tests for their OS 20:16
and b. I forgot to actually test for the IO::Path.watch sugar for IO::Notification.watch-path
Geth rakudo/nom: 65941b29d8 | (Zoffix Znet)++ | src/core/IO/Path.pm
Revert "[io grant] Remove IO::Path.watch"

This reverts commit 21fd2c4adeb4b63dad182a81ddce9797130b33e0.
Per: irclog.perlgeek.de/perl6/2017-05-28#i_14650194
20:17
roast: b60cef93e3 | usev6++ | 3 files
[JVM] Unfudge passing tests (IO related)
20:21
roast: 432bf94b95 | (Zoffix Znet)++ | S17-supply/watch-path.t
[io grant] Test IO::Path.watch
20:25
lizmat Zoffix++ # will tune tests further if needed 20:30
Geth roast: 23916098d4 | usev6++ | S16-io/lines.t
Cleanup test file S16-io/lines.t

All tests pass on JVM now. The code duplication that was introduced in order to fudge tests for JVM is no langer neccessary.
This basically reverts 7e1ef3ee0875908f9632cc8a9002c61e889b7348.
20:43
rakudo/nom: a47a78f859 | (Zoffix Znet)++ | src/core/io_operators.pm
[io grant] Remove useless :SPEC/:CWD on some IO subs

The .IO coercer does not currently take :SPEC or :CWD args and based on commitable's results[^1], it never did.
Remove the args altogether, making the calls themselves 26x faster
  (if not counting for actual unlinking/rmdiring/chmodding) by not
... (5 more lines)
20:45
roast: edd4e1928d | usev6++ | S02-types/sethash.t
Fix variable declaration

Commit d35cdc2e added some blocks, leading to breakage due to undeclared variables on JVM
20:56
lizmat m: use nqp; dd nqp::atkey(nqp::null,"a") # that's unexpected 20:57
camelia Mu
lizmat sorta expected that to blow up 20:58
BenGoldberg chmod, unlink, and rmdir all look as if they should be written as eager grep ... 21:03
return eager @filenames.grep: *.chmod($mode); 21:04
# etc. 21:05
Geth roast: 7d2e331367 | usev6++ | S32-io/seek.t
Indent closing curly and make fudger happy

For some reasons the fudger does not like to closing curlies on the same level. (Test file dies with 'Unexpected closing bracket' on JVM.)
bartolin_ s/to/two/ :-( 21:07
bartolin_ should go to bed
Zoffix BenGoldberg: slower 21:08
core code is weird in places cause speed is the name of the game 21:09
BenGoldberg Huh, weird.
jnthn BenGoldberg: In char mode, you are allowed to .read and .write also (with the caveat that you should really only .read after doing char-level stuff after a control char, otherwise all bets are off) 21:12
Should only switch encoding in that case too, fwiw. We should probably document this.
MasterDuke m: say :10[88,9,4] 21:13
camelia 8894
MasterDuke should values in the list >= the base be allowed?
RT #123572
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=123572
jnthn MasterDuke: Probably not 21:15
m: say :11[88,9,4]
camelia 10751
MasterDuke die or throw?
jnthn Though I dunno if the result is sensible here? 21:16
Hm, I'm confused what it even means now :)
MasterDuke 88*11**2 + 9*11**1 + 4*11**0, right? 21:17
oh, i gave a bad example 21:18
m: say :3[4,22,2]
camelia 104
Zoffix jnthn: control char being which unicode property? Also, how come? 21:21
(also which bets? :) that you don't lose any bytes between the non-control char and the .read?)
m: with '/tmp/43434foo'.IO { .spurt: 'Iā™„Perl 6'; with .open { .readchars(2).say; .read(6).decode.say } } 21:23
camelia Iā™„
erl 6
Zoffix Is that it? Or is it the bug with hearts I filed yesterday?
m: with '/tmp/43434foo'.IO { .spurt: 'IlPerl 6'; with .open { .readchars(2).say; .read(6).decode.say } } 21:24
camelia Il
erl 6
Zoffix I guess tis the bets off
dogbert17 jnthn: the calculation made in github.com/MoarVM/MoarVM/commit/b4...0d9e432f15 doesn't play entirely well with my system (32 bit). This code 'my int @a = 1..18_000_000' will fail with an allocation error even though I have 2.5 gigs available in my system. Could there be some kind of thinko on line 330? 21:25
jnthn Zoffix: github.com/MoarVM/MoarVM/blob/mast...lize.h#L73
Zoffix: As for why - because there may be things hanging around in the normalization buffer. 21:26
Zoffix Thanks. I'll document it.
jnthn Technically we could try to pull them out and re-encode them but it's a lot of hassle for something that I can't think of a single real-world use for. 21:27
Zoffix m: with '/tmp/43434foo'.IO { .spurt: 'Iā™„Perl 6'; with .open { .readchars(2).say; .encoding: Nil; .read(6).decode.say } }
camelia Iā™„
erl 6
Zoffix OK
jnthn The real-world uses are things like parsing HTTP headers as latin-1 and then switching to whatever the body is or just grabbing the body as bytes 21:28
And those are fine 'cus \n is a control
jnthn goes to relax and rest...seems the weekend is almost over already... 21:36
BenGoldberg Monday is still part of the weekend ;) 21:47
geekosaur only in the US 21:50
Zoffix has a long weekend too, thanks to booked vacation day :) 22:02
.seen labster
yoleaux I saw labster 12 May 2017 00:21Z in #perl6: <labster> m: rx/<$y=$x>/
Zoffix .tell labster sent you a PR fixing a handle leak in File::Directory::Tree (it's the module recommended by docs.perl6.org): github.com/labster/p6-file-directo...ree/pull/9 22:03
yoleaux Zoffix: I'll pass your message to labster.
Zoffix 97.67% of IO grant done... 22:04
Zoffix is tired -_-
MasterDuke maybe IONinja needs to take over? i've never heard of a ninja getting tired 22:05
Zoffix ;0
I mean :) 22:06
ugexe in the u.s. you can get a prescription to fix that 22:25
MasterDuke .ask TimToady re rt.perl.org/rt3/Public/Bug/Display...id=123572, what is the expected behavior of the :3[4, 22, 1] radix form? should digits greater than the base be allowed (e.g., the 4 in my example)? should values in the list greater than the base be allowed? 22:26
yoleaux MasterDuke: I'll pass your message to TimToady.
MasterDuke .ask moritz re rt.perl.org/rt3/Public/Bug/Display...id=123572, what is the expected behavior of the :3[4, 22, 1] radix form? should digits greater than the base be allowed (e.g., the 4 in my example)? should values in the list greater than the base be allowed?
yoleaux MasterDuke: I'll pass your message to moritz.
MasterDuke .ask masak re rt.perl.org/rt3/Public/Bug/Display...id=123572, what is the expected behavior of the :3[4, 22, 1] radix form? should digits greater than the base be allowed (e.g., the 4 in my example)? should values in the list greater than the base be allowed?
yoleaux MasterDuke: I'll pass your message to masak.
ugexe you can always /msg commands too... 22:27
MasterDuke ah, thanks, i'd forgotten about that 22:28