[comp.sources.d] vc/sc vs. S5 curses

campbell@maynard.UUCP (01/31/87)

The recently posted VC spreadsheet compiled and ran just fine on my
DEC Rainbow running VENIX 2.0 (a V7 port with many Berkeley-isms).

It also compiled and linked OK on my PC/AT running Microport System V,
but when I run it, the screen is garbage.  Cursor positioning and
screen repainting are TOTALLY messed up.  Other curses users, however,
like vi and jove, seem to work OK.

Are there known bugs in System V curses, or does VC need help to run
under System V?  Has anyone else gotten it running under System V?
-- 
Larry Campbell                                The Boston Software Works, Inc.
Internet: campbell@maynard.uucp             120 Fulton Street, Boston MA 02109
uucp: {alliant,wjh12}!maynard!campbell              +1 617 367 6846
ARPA: campbell%maynard.uucp@harvisr.harvard.edu      MCI: LCAMPBELL

dan@prairie.UUCP (Daniel M. Frank) (02/01/87)

In article <821@maynard.BSW.COM> campbell@maynard.UUCP (Larry Campbell) writes:
>It also compiled and linked OK on my PC/AT running Microport System V,
>but when I run it, the screen is garbage.  

   Programs that actually use curses, as opposed to those that simply use the 
termcap emulation routines in terminfo (like vi and jove) are likely to run
into a problem in the pre-1.3.8 Microport terminal description.  The original
ANSI console driver used a character-insert-mode toggle, rather than separate
commands to enter and leave the mode.  This breaks curses by confusing it
as to whether it is in insert mode or not.

   The solution to this is to untic the ansi terminfo, remove the two
caps for start and end insert mode, and re-tic it.

   This is fixed in 1.3.8, which comes with a whole new ANSI driver and
terminfo file.


-- 
      Dan Frank
	ARPA: dan@db.wisc.edu			ATT: (608) 255-0002 (home)
	UUCP: ... uwvax!prairie!dan		     (608) 262-4196 (office)
	SNAILMAIL: 1802 Keyes Ave. Madison, WI 53711-2006

jpn@teddy.UUCP (02/02/87)

>It also compiled and linked OK on my PC/AT running Microport System V,
>but when I run it, the screen is garbage.  Cursor positioning and
>screen repainting are TOTALLY messed up.  Other curses users, however,
>like vi and jove, seem to work OK.

This is no guarantee that Microport didn't screw up, since neither
"vi" nor "jove" use curses!
.
.

ron@vsedev.VSE.COM (Ron Flax) (02/03/87)

In article <3731@teddy.UUCP> jpn@teddy.UUCP (John P. Nelson) writes:
>>It also compiled and linked OK on my PC/AT running Microport System V,
>>but when I run it, the screen is garbage.  Cursor positioning and
>>screen repainting are TOTALLY messed up.  Other curses users, however,
>>like vi and jove, seem to work OK.
>
>This is no guarantee that Microport didn't screw up, since neither
>"vi" nor "jove" use curses!
>

Both vc/sc variants work on my AT under Microport.
For both I used CFLAGS=-DSYSV, for sc LFLAGS=-lm -lcurses, and for vc
LFLAGS=-lcurses.

Sounds like a terminfo problem to me.  If you are running the original
1.3.6 ansi terminfo file you will have problems.

Try running tic on this one:

ansi|fixed ansi standard terminfo for microport console,
	am, xon, cols#80, lines#24, bel=^G, cr=\r, clear=\E[2J\E[H, 
	el=\E[K, ed=\E[J, cup=\E[%i%p1%d;%p2%dH, cud1=\n, home=\E[H, 
	cub1=\b, cuf1=\E[C, cuu1=\E[A, dch1=\E[P, dl1=\E[M, blink=\E[5m, 
	bold=\E[1m, invis=\E[8m, rev=\E[7m, smso=\E[7m, smul=\E[4m, 
	sgr0=\E[m, rmso=\E[0m, rmul=\E[0m, is2=\E[=h, ich1=\E[@, 
	il1=\E[L, kbs=\b, kcud1=\E[B, khome=\E[H, kcub1=\E[D, knp=\E[V, 
	kpp=\E[U, kcuf1=\E[C, kcuu1=\E[A, dl=\E[%p1%dM, cud=\E[%p1%dB, 
	ich=\E[%p1%d@, il=\E[%p1%dL, cub=\E[%p1%dD, cuf=\E[%p1%dC, 
	cuu=\E[%p1%dA, ind=\n, ht=\t, kf0=\E[M, kf1=\E[N,

grs@houxa.UUCP (02/04/87)

In article <3731@teddy.UUCP>, jpn@teddy.UUCP writes:
> >It also compiled and linked OK on my PC/AT running Microport System V,
> >but when I run it, the screen is garbage.  Cursor positioning and
> >screen repainting are TOTALLY messed up.  Other curses users, however,
> >like vi and jove, seem to work OK.
> 
> This is no guarantee that Microport didn't screw up, since neither
> "vi" nor "jove" use curses!


vi DOES use curses on SYS V.  The source to jove currently posted in mod.sources
seems to as well.  I've noticed similar problems with the ansi terminfo entry
from Multiport.  I've had more success with the minansi entry which is a subset.
At some point I guess I'll have to debug ansi (Multiport refuses to do it), 
unless someone out there has already done it.

	Glenn Sills
	BTL - Merrimack Valley
	!houxa!grs
	(617) 881-6437

dan@prairie.UUCP (02/06/87)

In article <279@houxa.UUCP> grs@houxa.UUCP (G.SILLS) writes:
>vi DOES use curses on SYS V.  ... jove currently posted in mod.sources
>seems to as well.

   No.  They both use the termcap emulation in terminfo.  Terminfo happens
to reside in libcurses.a.  Both vi and jove have a lot of their own code
to manage the screen.

>At some point I guess I'll have to debug ansi (Multiport refuses to do it), 
>unless someone out there has already done it.

   Microport doesn't "refuse to do this".  It has been done, along with a
redesign of the ansi console driver, in version 1.3.8, which will be
along Any Time Now.  In the meantime, several people have posted solutions
to the problem, so you don't have to debug anything.

-- 
      Dan Frank
	ARPA: dan@db.wisc.edu			ATT: (608) 255-0002 (home)
	UUCP: ... uwvax!prairie!dan		     (608) 262-4196 (office)
	SNAILMAIL: 1802 Keyes Ave. Madison, WI 53711-2006