Hello, I've noticed a specific type of pipe() usage that works in released R, but not in r-devel.
In 4.3.2 on macOS, I can write to a connection returned by pipe(), i.e. "hello, world" prints here: > R.version.string [1] "R version 4.3.2 (2023-10-31)" > con <- pipe("cat") > writeLines("hello, world", con) hello, world But in r-devel on macOS, this is silent no-op, i.e. "hello, world" does not print: > R.version.string [1] "R Under development (unstable) (2024-02-13 r85895)" > con <- pipe("cat") > writeLines("hello, world", con) My colleague Lionel Henry confirms he sees the same results on linux. This particular example with cat doesn't work on Windows, so I don't have any useful observations for that OS. You might say this is a weird example or use case. The actual usage where I discovered this is the way folks read/write the clipboard on macOS using pbcopy/pbpaste (and, in very similar ways, on linux using xsel or xclip). This is mentioned in the "Clipboard" section of the connections help topic. In 4.3.2 on macOS, I can successfully roundtrip with the clipboard: > pb_write <- pipe("pbcopy") > writeChar("hello clipboard!", pb_write, eos = NULL) > pb_read <- pipe("pbpaste") > readChar(pb_read, 16) [1] "hello clipboard!" In r-devel, it appears that the write operation silently does nothing: > pb_write <- pipe("pbcopy") > writeChar("hello clipboard!", pb_write, eos = NULL) > pb_read <- pipe("pbpaste") > readChar(pb_read, 16) character(0) If the clipboard is populated through other means, I can use readChar(pipe("pbpaste"), ...) to read the clipboard even in r-devel. So this seems to be specific to writing to the connection. Is this change in behaviour intentional and will it be present in the next release of R? FWIW, I did a crude search of the source of all CRAN packages and there are quite a few currently using pipe() for clipboard access on *nix. -- Jenny [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel