01:58 deoac left 03:18 stanrifkin joined 03:21 stanrifkin_ left 05:31 stanrifkin left 05:53 arkiuat left 06:04 arkiuat joined 06:09 arkiuat left 06:20 arkiuat joined 06:25 arkiuat left 06:38 arkiuat joined 06:43 arkiuat left 06:47 arkiuat joined 06:52 arkiuat left 07:23 arkiuat joined 07:27 arkiuat left 07:48 arkiuat joined 07:52 arkiuat left 08:22 arkiuat joined 08:26 arkiuat left 08:49 arkiuat joined 08:53 arkiuat left
disbot4 <nahita3882> maybe it's a flushing issue? placing $*OUT.out-buffer = $*ERR.out-buffer = False; might be helpful if that's the case 08:58
09:21 arkiuat joined 09:26 arkiuat left 09:46 arkiuat joined 09:50 arkiuat left
disbot4 <Welemtam> Hi! thanks, flushes indeed make the traces work, but only until the shell command. Then nothing is displayed. Basically : $*OUT.out-buffer = $*ERR.out-buffer = False; # or just do $*ERR.flush after each 'note' call note 'hello'; # OK note 'hello 2'; # OK shell %vars<MAKE>, :cwd($srcdir); # nothing displayed note 'hello 3'; # Nothing , even with manual flushing zef.exe forks rakudo.exe to run that build script. This 09:58
is why (imo) stderr is buffered (data goes through a pipe between rakudo.exe and zef.exe) Then rakudo.exe forks cmd.exe for the "shell" command and this is where things get broken
<jubilatious1_98524> Does run instead ot shell help? docs.raku.org/routine/run 10:08
10:19 arkiuat joined 10:23 arkiuat left
disbot4 <Welemtam> It does make the 3rd trace work, though the trace of what's executed are still invisible. And for some reason it makes the script return 0 and fail later At this point I'll try to write a more minimal sample 🙂 10:52
10:53 arkiuat joined 10:57 arkiuat left
disbot4 <jubilatious1_98524> Are you on WSL? Do pipes work differently there? Not well-versed in zef; I'm wondering if taking a gander at Raku's IO::CatHandle might spark some ideas (e.g. handle the piping yourself)? docs.raku.org/type/IO/CatHandle 11:03
<jubilatious1_98524> The other idea (presented by @librasteve earlier) is there's something about your terminal session which requires you to do nohup (and/or & backgrounding) in WSL(2?). 11:10
<Welemtam> Nope it's pure native windows 🙂
11:20 arkiuat joined 11:26 arkiuat left 11:35 arkiuat joined 11:42 soverysour joined, soverysour left, soverysour joined 11:43 soverysour left 11:48 soverysour joined, soverysour left, soverysour joined 11:56 soverysour left 12:29 soverysour joined, soverysour left, soverysour joined 12:48 soverysour left
disbot4 <jubilatious1_98524> Powershell? 12:57
<Welemtam> the raku 'shell' command runs cmd.exe, not powershell If I run the whole thing from a powershell I get the same result (if that was your question) 13:35
13:45 soverysour joined 13:47 arkiuat left 13:59 arkiuat joined 14:04 arkiuat left 14:22 soverysour left 14:32 arkiuat joined 14:37 arkiuat left 15:07 arkiuat joined 15:12 arkiuat left
disbot4 <Welemtam> This may be an interesting "minimal" example - using run: class Foo { method build { say "hi!"; note "hi again!"; run 'nmake'; # something not in my path } } `raku.exe -e "require 'C:\Path\To\Foo.rakumod'; ::('Foo').new.build() ?? exit(0) !! exit(1);" -> std traces are printed -> run() result is not : it fails silently. Now if I add sub MAIN { Foo.new.build(); } to Foo.rakumod and run it with 15:28
raku Foo.rakumod, the run result is displayed...
15:29 arkiuat joined 15:33 arkiuat left 16:04 arkiuat joined 16:09 arkiuat left 16:30 arkiuat joined 16:35 arkiuat left 17:02 arkiuat joined 17:07 arkiuat left 17:31 arkiuat joined 17:35 arkiuat left 18:06 arkiuat joined 18:11 arkiuat left 18:32 arkiuat joined 18:36 arkiuat left 19:02 arkiuat joined 21:36 stanrifkin joined 22:20 arkiuat left 22:32 arkiuat joined 22:36 arkiuat left 23:03 arkiuat joined 23:08 arkiuat left 23:30 arkiuat joined 23:35 arkiuat left 23:48 arkiuat joined