Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: 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 Xref: mnetor net.bugs.4bsd:965 net.bugs:348 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