Hi Pierre-Jean, > Well, as on Fedora I get "a b". > I've looked at the arch packages, it doesn't contain any patches, just > a site.tmac for man and mdoc. Here is the pkgbuild: > http://repos.archlinux.org/wsvn/packages/groff/repos/core-i686/PKGBUILD
I'll try and have a dig around there. > So, I need more investigation, looking at my own installation. I'm > gonna do some tests and research and reply if I find something. One more test I tried, $ printf 'foo\n\n' | > strace -fe trace=execve,read nroff <(printf 'a\n.rd\nb\n') 2> >(egrep 'execve|read\(0,') | > grep . a foo b execve("/usr/bin/nroff", ["nroff", "/dev/fd/63"], [/* 55 vars */]) = 0 [pid 17907] execve("/usr/bin/locale", ["locale", "charmap"], [/* 55 vars */]) = 0 [pid 17908] execve("/usr/bin/groff", ["groff", "-mtty-char", "-Tutf8", "/dev/fd/63"], [/* 56 vars */]) = 0 [pid 17909] execve("/usr/bin/troff", ["troff", "-mtty-char", "-Tutf8", "/dev/fd/63"], [/* 57 vars */]) = 0 [pid 17910] execve("/usr/bin/grotty", ["grotty"], [/* 57 vars */]) = 0 [pid 17910] read(0, <unfinished ...> [pid 17909] read(0, "foo\n\n", 1024) = 5 $ With the "a foo b" output I can see PID 17909 attempts to read from standard input (file descriptor 0) and gets the intended data. And 17909 earlier did a execve(2) of troff which is as I'd expect; troff is the intended recipient. grotty has an unfinished read, not sure what that's about. Perhaps file descriptor 0 has been closed by the time troff tries to read(2) from it on your errant system? Cheers, Ralph.