[net.unix-wizards] end macro 'problem' in n/troff

fld (03/29/83)

Allen McIntosh has correctly observed n/troff's behavior when reaching end
of file:  no new pages will be begun unless a partial line exists - and that
can happen only in fill mode, or when using the "\c" construct.

The BTL UNIX text development people have always treated this as a "feature"
(you can see code in MM that deals with this - it leaves a "\&\c" in the
partial line when it has another page coming).  A feature because (presumably)
this prevents unwanted pages from being output at the end of a job.

On the other hand, Allen's proposed fix (changing "if (donef)" to
"if (donef > 0)" in n7.c under the label "nl1:") causes n/troff to
continue printing pages ONLY while the end macro is in effect (this is
the effect of the change that Allen suggests in his news article).  This
appears to be a safe and reasonable change.  I hesitate to fully
recommend it because I don't know who depends on the "feature", and
can't imagine how it will affect current documents/macro packages/etc.

Fred Dalrymple
UNIX development, BTL MH
mhtsa!fld