At 2020-03-01T23:07:07-0500, Doug McIlroy wrote: > .EQ > define f % $1 % > f("a,b") > .EN > > draws a diagnostic from Gnu eqn: "newline before end of quoted text". > Remove the comma and all is well. Apparently the comma delimits > the first argument. > > The program isn't totally naive about parsing arguments. It > does think that there's only one argument in the macro call > > f((a,b)) > > Surely this is a bug, not a feature.
Hi Doug, As far as I can tell from Kernighan and Cherry[1], eqn's "define"s aren't parameterized at all. The groff eqn(1) man page claims to document (only) extensions to classical eqn, but I don't see this extension described there. Even if eqn defines _were_ parameterized, you'd need to have "f" surrounded by whitespace on both sides for it to undergo expansion (ibid., ยง20). As I understand K&C, your output line should render as: f(a,b) ...and my copy of Heirloom eqn/nroff does actually do this. This feels like an incomplete/undocumented GNU extension, and maybe not a prudent one. But my experience with eqn is limited to minimal examples. Anyone else? Regards, Branden [1] http://www.kohala.com/start/troff/v7man/eqn/eqn2e.ps
signature.asc
Description: PGP signature