when an m4 program uses the syscmd() function the output of the system() call made by syscmd() is out of sync with the data stream of m4. Fix: patch src/usr.bin/m4/eval.c as follows: diff eval.c.orig eval.c 173c173,177 < */ --- > */ > /* Make sure m4 output is NOT interrupted */ > fflush(stdout); > fflush(stderr); > How-To-Repeat: run m4 on a file containing the following: define(MACRO, `syscmd(echo -n foo)') some text with "MACRO" in it << END OF SAMPLE INPUT this will produce: foosome text with "" in it but should produce: some text with "foo" in it
State Changed From-To: open->closed Fix applied.