It seems that the behavior of readLines() in R 3.5 has changed for non-blocking pipeline.
Consider the following R script, which reads from STDIN line by line. ``` con <- file("stdin") open(con, blocking = FALSE) while (TRUE) { txt <- readLines(con, 1) if (length(txt) > 0) { cat(txt, "\n", file = stdout()) } Sys.sleep(0.1) } close(con) ``` In R 3.4.4, it works as expected. ``` (randymbpro)-Desktop$ echo "abc\nfoo" | R --slave -f test.R abc foo ``` In R 3.5, only the first line is printed ``` (randymbpro)-Desktop$ echo "abc\nfoo" | R --slave -f test.R abc ``` Is this change expected? If I change `blocking` to `TRUE` above, the above code would work. But I need non-blocking connection in my use case of piping buffer from another program. Best, R 3.5 @ macOS 10.13 Randy [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel