static File backtickToReceiver(S cmd, IVF1 outputReceiver) { ret backtickToReceiver(cmd, (O) outputReceiver); } // returns file with program output (STDOUT+STDERR) static File backtickToReceiver(S cmd, O outputReceiver) { File outputFile = createTempFile(cmd, ".out"); makeEmptyFile(outputFile); // unnecessary? TailFile tail = tailFile2(outputFile, 100, voidfunc(S s) { pcallF(outputReceiver, s) }); // make a dependent child process that is exited when we exit //print("Running: " + cmd); pcall { backtickToFile(cmd, outputFile); } tail.stop(); ret outputFile; }