Probably related to the switch to buffered connections. I will look into this soon.
On Wed, Apr 25, 2018 at 2:34 PM, Randy Lai <randy.cs....@gmail.com> wrote: > 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 > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel