Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!rutgers!uwvax!uwmacc!hobbes!plocher From: plocher@hobbes.UUCP Newsgroups: comp.bugs.sys5 Subject: MicroPort system5 1.38B3 terminfo error Message-ID: <111@hobbes.UUCP> Date: Sat, 7-Feb-87 01:11:36 EST Article-I.D.: hobbes.111 Posted: Sat Feb 7 01:11:36 1987 Date-Received: Sun, 8-Feb-87 04:51:54 EST Reply-To: plocher@hobbes.UUCP (John Plocher uwvax!uwmacc!hobbes!plocher) Distribution: na Organization: UW Madison Spanish Dept Lines: 71 Keywords: terminfo ansi terminal Microport Sys5 1.38 Beta 3 Summary: the 'rep' field in terminfo is set up incorrectly for the console This bug applies to Microport System5/AT release 1.38 and above only. Specifically, it does not affect those with the general 1.36 release. (That release has it's own set of well known problems :-) Originator: John Plocher 216 Deerfield Rd Box 288 Marshall, WI 53559-0288 rutgers!uwvax!uwmacc!hobbes!plocher Attachments: None Example Listings Diskette ******** Urgency: Immediate Next Release Advisory ********* OS Version: MicroPort SV/AT 1.38B3 Program Name: /usr/lib/terminfo/a/ansi Version: 1.38B3 upgrade with new console handlers Repeat by: * extract the test program provided at the end of this report, and place it into a file called 'test.c'. % cc -o test test.c -lcurses % setenv TERM ansi ;# this should be the default... % test * Should draw 2 boxes on the screen, instead, the right hand sides of the boxes are messed up * Also, the function key mappings for terminfo/a/ansi are wrong. As given, f1 through f10 all are specified as being \EOc but they should really be \EOc \EOd ... \EOl. Fix by: % untic ansi > ansi.src * untic is a public domain program - avaliable from Microport, or I can mail the source to you... * in ansi.src, change the line rep=%p1%c\E[%p2%{1}%-%db, to rep=%p1%c\E[%p2%db, Also, fix the definitions for kf2 thru kf10 to be kf0=\EOc, kf1=\EOd, kf2=\EOe... % tic ansi.src % test * The boxes should now be correct * Programs which use the function keys (KEY_F(0)...) will now work as well. /* Test program for the 'rep' bug in curses: */ /* Stick this in test.c and compile with cc -o test test.c -lcurses */ #include WINDOW *Wpreview, *Wwork; main() { if (initscr() == NULL) /* window manager */ exit( 1 ); if ( !(Wpreview = newwin( 5, 50, 0, 29 )) ) exit(1); if ( !(Wwork = newwin( 19, 79, 5, 0 )) ) exit(1); box(Wpreview, '|', '-'); box(Wwork, '|','-'); wrefresh(Wpreview); wrefresh(Wwork); endwin(); }