Ralph, > > 'so /usr/lib/tmac/tmac.m > > This probably wouldn’t be the preferred way of doing things anymore > > I see no reason to demote it. :-)
I was getting more at using “.mso”, but for the example above, the file well might not be on the macro path. I think it’s better to use “'” than a space because what’s going on is more readily apparent—at least to those who understand the idiom. > > The careful reader of the groff soelim man page will see that the same > > thing can be accomplished by putting whitespace between the standard > > control character and the request (e.g., “. so”) > But doesn't suggest why that's useful. Which invites the question, “Is it still useful?” In the old days, reducing the amount of superfluous material run through preprocessors made a difference; nowadays, I’m not sure it matters. But sometimes I don’t want stuff like a macro package run through certain preprocessors. For example, I’ve long used a sed(1) script that, among other things, converts “"”, “``”, and “''” to \[lq] and \[rq] as appropriate. It works pretty well with text source, but I’m not sure I always trust it with macros. So I’ll “.so” a text file but “'so” a macro package. > Whilst looking at this, I noticed groff's info says > ... > Since 'gtroff' replaces the 'so' request with the contents of > 'file', it makes a difference whether the data is terminated with > . . . > Should groff's documentation be > encouraging such practice? Does it work? > . . . > I think groff's documentation should acknowledge an old technique, say > it was never a good idea, that it doesn't work with groff, and that `\c' > can achieve the desired result. To be honest, I’d never seen a need to so a file without a final newline (perhaps some type of data-merge application would qualify), but should such a need arise, Ralph’s suggestion seems the way to go. Especially because it actually works. And the documentation should probably eventually be corrected. Jeff Conrad