[net.bugs.4bsd] more's ul filter fails on certain terminals

msc@qubix.UUCP (Mark Callow) (07/12/84)

Index: ucb/more/more.c 4.2BSD Fix

Description:
	On certain terminals such as the tvi925, more(1) incorrectly
	handles underlining.  When the last word on a line is underlined
	more(1) sends a CR followed by the underline-off code instead of
	an underline-off code then a CR.

	On certain terminals this causes the remainder of the line up to
	the edge of the screen to be underlined.

	This bug is present in 4.1BSD as well.

Repeat-By:
	Get yourselves a tvi925 or similar terminal.  Try doing man on
	a few manual pages.  You'll soon find one where the last word
	on a line is underlined.  The tvi has other problems as well
	due to it needing a screen space for attributes.  This causes
	problems with the line endings which you should ignore for the
	purposes of this test.

Fix:
	Here is the fix.
	11a12,14
	> **	modified by Mark Callow, Qubix to correctly handle underlining
	> **		 on terminals such as tvi925's where CR's don't turn off
	> **		 attributes.  Define FIXED to get the fix.
	12a16
	> #define FIXED
	830a835,840
	> #ifdef FIXED
	>         if (pstate) {
	> 	    tputs(ULexit, 1, putch);
	> 	    pstate = 0;
	>         }
	> #endif
-- 
From the TARDIS of Mark Callow
msc@qubix.UUCP,  decwrl!qubix!msc@Berkeley.ARPA
...{decvax,ucbvax,ihnp4}!decwrl!qubix!msc, ...{ittvax,amd70}!qubix!msc

"Nothing shocks me.  I'm an Engineer."