🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.bugs.4bsd
Article #1697

troff/nroff/ditroff end-macro bug

#1697
From: Steve Grandi
Date: Thu, 16 Oct 1986 01:36
67 lines
2355 bytes
Subject: troff/nroff prematurely interrupts end-macro processing
Index:	/usr/src/usr.bin/troff/n7.c 4.3BSD

Description: 
	(The following bug-report and fix are from D'Anne Thompson)

	End-macro processing in troff/nroff/ditroff is being prematurely
interrupted.  Only a single page of text was being ejected upon reaching the
end of input text.  This was the case even when there was diverted material,
notably a floating keep, that should be floated to the top of another new
page.  After investigation it was found that only the current page at the
time of reaching the end-macro was being completed, any additional pages that
might be due to the end-macro processing itself were being suppressed.

Repeat-By:  
	Run the following through troff/nroff using -me

.fo ''Footer''
.pp
A normal paragraph.
A normal paragraph.
A normal paragraph.
A normal paragraph.
A normal paragraph.
A normal paragraph.
A normal paragraph.
A normal paragraph.
.sp 7.0i
.(z
A Floating keep.
It should float to the top of the 
following page.

This should be the second page output, if end-macro
processing is working correctly.

She sells sea shells by the sea shore.
.)z
.pp
A normal paragraph.


Fix:
	file n7.c, subroutine newline()

*** n7.c.ORIG	Thu Aug  5 14:53:14 1982
--- n7.c	Tue Sep 16 16:01:51 1986
***************
*** 423,429 ****
  nl1:
  	ejf = dip->hnl = v.nl = 0;
  	ejl = frame;
! 	if(donef){
  		if((!nc && !wch) || ndone)done1(0);
  		ndone++;
  		donef = 0;
--- 423,429 ----
  nl1:
  	ejf = dip->hnl = v.nl = 0;
  	ejl = frame;
! 	if(donef == 1){
  		if((!nc && !wch) || ndone)done1(0);
  		ndone++;
  		donef = 0;
-- 
Steve Grandi, National Optical Astronomy Observatories, Tucson, AZ, 602-325-9228
{arizona,decvax,hao,ihnp4,seismo}!noao!grandi  grandi%draco@Hamlet.Caltech.Edu
Technical Details
Message-ID: <501@carina.noao.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!columbia!rutgers!princeton!astrovax!noao!grandi

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!columbia!rutgers!princeton!astrovax!noao!grandi
From: grandi@noao.UUCP (Steve Grandi)
Newsgroups: net.bugs.4bsd,net.bugs
Subject: troff/nroff/ditroff end-macro bug
Message-ID: <501@carina.noao.UUCP>
Date: Wed, 15-Oct-86 21:36:34 EDT
Article-I.D.: carina.501
Posted: Wed Oct 15 21:36:34 1986
Date-Received: Thu, 16-Oct-86 18:51:40 EDT
Organization: Natl. Optical Astronomy Observatories, Tucson, AZ USA
Lines: 67