better underlining from more
a
jiml at uwslh.UUCP
Tue Jan 14 01:56:40 AEST 1986
SYMPTOM:
On terminals capable of underlining, no underlines are seen when they
are expected; for example, when reading manual entries.
REPEAT BY:
man more
PROBLEMS:
(a) the termcap entry contains "ul" in addition to "us" and "ue"
or "uc", but the terminal is incapable of overstrike style
underlining, or not initialized to do it.
(b) /usr/ucb/more has a bug which can make viewing underlined text
very painful: it fails to turn off underline mode at the end
of a line, causing the rest of that line and perhaps subsequent
ones to be cleared to underlines, not spaces. (Presumably this
is the motive for (a)).
FIXES:
(a) Delete the "ul" capability from /etc/termcap for terminals
which have underline modes rather than underline overstriking.
(b) Fix routine prbuf in more.c to turn off underline mode as it
exits, by adding code such as what follows after the loop ...
(diff -c form, for patch lovers):
*** more.c.old Sun Sep 25 20:05:29 1983
--- more.c Mon Jan 13 09:13:05 1986
***************
*** 828,833
tputs(chUL, 1, putch);
}
}
}
/*
--- 828,837 -----
tputs(chUL, 1, putch);
}
}
+ if (pstate) {
+ tputs( ULexit, 1, putch);
+ pstate = 0;
+ }
}
/*
BUGS:
This has probably been fixed before, but was still wrong at our site.
The fix is as inefficient and dangerous as the rest of prbuf (consider
the behaviour of a terminal with both "uc" and "us"/"ue" in its
termcap entry).
On terminals with brain-damaged underline mode, such as telerays, the
behaviour is better but not right, since line length is screwed up
by the mode changing sequences, and More doesn't check for that.
James E. Leinweber ...!{seismo,harvard,topaz,ihnp4}!uwvax!uwslh!jiml
Wisconsin State Hygiene Lab (608) 262-8092
University of Wisconsin; 465 Henry Mall; Madison, WI 53706
--
James E. Leinweber ...!{seismo,harvard,topaz,ihnp4}!uwvax!uwslh!jiml
Wisconsin State Hygiene Lab (608) 262-8092
University of Wisconsin; 465 Henry Mall; Madison, WI 53706
More information about the Comp.bugs.4bsd.ucb-fixes
mailing list