[comp.unix.questions] terminfo vs. termcap

eric@dlcdev.UUCP (03/16/87)

Could anyone tell me a reasonable way of converting from terminfo
source to a termcap entry. The correspondence is not very clear to me
I am especially interested in how to deal with parameterized tinfo entries
in tcap. I realize my inexperience is blatant so, thanks in advance to all
usefull suggestions.

	
					Eric Van Tassell
					Data Language Corp.
					617-663-5000
					clyde!bonnie!masscomp!dlcdev!eric
					harvard!mit-eddie!dlcdev!eric
					dlcdev!eric@eddie.mit.edu

hansen@pegasus.UUCP (Tony L. Hansen) (03/18/87)

Time to put in another plug for the AT&T UNIX Toolchest.  (Just call
1-201-522-6900 and login as "guest" [there is no passwd] to browse through
the Toolchest.)  Within it you will find a program, cheap, named "infocmp".
Among the options, you will find "-C", which converts a terminfo entry into
termcap format.  You'd be hard pressed to do a better job by hand.  The
infocmp program is included with System V release 3, but you must go to the
Toolchest if you want to get it without Vr3.

					Tony Hansen
					ihnp4!pegasus!hansen

The man page says this:

	The source produced by the -C option may be used directly as a
	termcap entry, but not all of the parameterized strings may be
	changed to the termcap format.  infocmp will attempt to convert
	most of the parameterized information, but that which it doesn't
	will be plainly marked in the output and commented out.  These
	should be edited by hand.

	All padding information for strings will be collected together
	and placed at the beginning of the string where termcap expects
	it.  Mandatory padding (padding information with a trailing '/')
	will become optional.

	All termcap variables no longer supported by terminfo(4), but
	which are derivable from other terminfo(4) variables, will be
	output.  Not all terminfo(4) capabilities will be translated;
	only those variables which were part of termcap will normally be
	output.  Specifying the -r option will take off this
	restriction, allowing all capabilities to be output in termcap
	form.

	Note that because padding is collected to the beginning of the
	capability, not all capabilities are output, mandatory padding
	is not supported, and termcap strings were not as flexible, it
	is not always possible to convert a terminfo(4) string
	capability into an equivalent termcap format.  Not all of these
	strings will be able to be converted.  A subsequent conversion
	of the termcap file back into terminfo(4) format will not
	necessarily reproduce the original terminfo(4) source.

	Some common terminfo parameter sequences, their termcap
	equivalents, and some terminal types which commonly have such
	sequences, are:

	Terminfo		 Termcap    Representative Terminals

	%p1%c			    %.	    adm
	%p1%d			    %d	    HP, ANSI standard, vt100
	%p1%'x'%+%c		    %+x	    concept
	%i			    %i	    ANSI standard, vt100
	%p1%?%'x'%>%t%p1%'y'%+%;    %>xy    concept
	%p2 is printed before %p1   %r	    hp

mckenzie@june.cs.washington.edu (Neil McKenzie) (01/18/89)

I've just brought up X11 on A/UX (MacII).  It works just fine, except that
there was no terminal description for "xterm".  So I thought, no big
deal, just ftp over /etc/termcap from another machine.  Imagine
to my surprise that it didn't work.  I realized that there was something
fishy, and stumbled onto terminfo, which is the SysV (and therefore A/UX)
way of doing things.

This is really dumb.  It is really mysterious why there is even an
/etc/termcap file and even a man page to go with it because the
termcap file is just ignored.  What is even more unfriendly is that
the source descriptions are compiled into an unreadable format.  This
makes it very hard to study examples, since the source formats seem
to be unavailable (or just well hidden), and reading the binary
is no help.

I've tried to construct a terminfo file from the termcap file, but
it doesn't quite work right, but it looks ok.

So, can someone post a terminfo source file for xterm?  Or, are there
source examples to study (such as vt100 which is pretty close to xterm)?

--Neil McKenzie, doomed to a life of finding incompatable parts
and putting them together.
mckenzie@june.cs.washington.edu

guy@auspex.UUCP (Guy Harris) (01/19/89)

>So, can someone post a terminfo source file for xterm?

The following comes from SunOS 4.0, by running "infocmp -I" with TERM
set to "xterm" (the S5R3 "curses" has a command, "infocmp", that among
other things will un-compile a "terminfo" entry).  It comes from a
version sent out with some X release, as I remember:

xterm|vs100|xterm terminal emulator,
	am, eslok, hs, km, mir, msgr, xenl,
	cols#80, it#8, lines#65,
	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
	bel=^G, blink=\E[5m$<2>, bold=\E[1m, clear=\E[H\E[2J,
	cr=\r, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\b,
	cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
	dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
	dsl=\E[?E, ed=\E[J, el=\E[K, el1=\E[1K$<3>,
	enacs=\E(B\E)0, fsl=\E[?F, home=\E[H, ht=\t, hts=\EH,
	ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L,
	ind=\n, ka1=\EOq, ka3=\EOs, kb2=\EOr, kbs=\b,
	kc1=\EOp, kc3=\EOn, kcub1=\EOD, kcud1=\EOB,
	kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, kf0=\EOy, kf1=\EOP,
	kf10=\EOx, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt,
	kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, rc=\E8,
	rev=\E[7m, ri=\EM, rmacs=^O, rmcup=\E[2J\E[?47l\E8,
	rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
	rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, sc=\E7,
	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t^N%e^O%;,
	sgr0=\E[m, smacs=^N, smcup=\E7\E[?47h, smkx=\E[?1h\E=,
	smso=\E[7m, smul=\E[4m, tbc=\E[3g,
	tsl=\E[?E\E[?%i%p1%dT,

The original source may be available in some X11 release.  I haven't
tested this, so I don't know whether it'll work right or not.

gwyn@smoke.BRL.MIL (Doug Gwyn ) (01/19/89)

In article <6966@june.cs.washington.edu> mckenzie@uw-june.UUCP (Neil McKenzie) writes:
>This is really dumb.  It is really mysterious why there is even an
>/etc/termcap file and even a man page to go with it because the
>termcap file is just ignored.

Many applications, for example those developed in Berkeley environments,
use /etc/termcap.  I don't know whether AUX includes "termlib" to provide
the access functions but it might (SVR2 did).

>What is even more unfriendly is that the source descriptions are
>compiled into an unreadable format.  This makes it very hard to
>study examples, since the source formats seem to be unavailable ...

There are a variety of cap-to-info tools, terminfo compilers ("tic"
is the usual name), decompilers, etc.  I don't know what AUX provides.

The reason for the binary format is to speed up loading of the
terminal description.

mckenzie@june.cs.washington.edu (Neil McKenzie) (01/19/89)

It turns out that someone mailed me source to "captoinfo" which
translates termcap entries into terminfo source.  This did the trick;
thank you.  There was an xterm terminfo file in the X11 release after all,
but the captoinfo method worked fine.

--Neil McKenzie  (mckenzie@cs.washington.edu)

If it ain't broke, ship it.

aem@ibiza.Miami.Edu (a.e.mossberg) (01/19/89)

In <9426@smoke.BRL.MIL>, <gwyn@brl.arpa> wrote:
>There are a variety of cap-to-info tools, terminfo compilers ("tic"
>is the usual name), decompilers, etc.  I don't know what AUX provides.

tic is on A/UX, but I don't see any of the cap2info tools. I'm pretty sure
I've seen a PD version go by on comp.sources.unix some time in the past.


aem

a.e.mossberg - aem@mthvax.miami.edu - MIAVAX::AEM (Span) - aem@umiami.BITNET
The man who dies rich dies disgraced.			- Andrew Carnegie

peters@Apple.COM (Steve Peters) (01/19/89)

In article <6966@june.cs.washington.edu> mckenzie@uw-june.UUCP (Neil McKenzie) writes:
>
>So, can someone post a terminfo source file for xterm?  Or, are there
>source examples to study (such as vt100 which is pretty close to xterm)?
>

You don't say, but I take it you've installed the MIT X11R3 A/UX server.
The directory server/ddx/macII on the MIT tape contains the two compiled
terminfo files you need. The README in that directory tells you where to
put them.

Steve Peters
X Project Leader
Apple Computer, Inc.
peters@apple.apple.com

prc@maxim.ERBE.SE (Robert Claeson) (01/19/89)

In article <6966@june.cs.washington.edu>, mckenzie@june.cs.washington.edu (Neil McKenzie) writes:

> This is really dumb.  It is really mysterious why there is even an
> /etc/termcap file and even a man page to go with it because the
> termcap file is just ignored.

No. There are a number of applications that runs under System V that
still wants termcap, using their own routines to read that file.

> What is even more unfriendly is that
> the source descriptions are compiled into an unreadable format.  This
> makes it very hard to study examples, since the source formats seem
> to be unavailable (or just well hidden), and reading the binary
> is no help.

Try the command 'infocmp' (if Apple includes it in their distribution).
It will decompile terminfo entries for you, in almost any format you
want. ANd it can even generate termcap entries from the terminfo ones.

> I've tried to construct a terminfo file from the termcap file, but
> it doesn't quite work right, but it looks ok.

Try the command 'captoinfo'.
-- 
Robert Claeson, ERBE DATA AB, P.O. Box 77, S-175 22 Jarfalla, Sweden
"No problems." -- Alf
Tel: +46 758-202 50  EUnet:    rclaeson@ERBE.SE  uucp:   uunet!erbe.se!rclaeson
Fax: +46 758-197 20  Internet: rclaeson@ERBE.SE  BITNET: rclaeson@ERBE.SE

maddog@anuck.UUCP (j.j.tupper) (01/20/89)

In article <6966@june.cs.washington.edu> mckenzie@uw-june.UUCP (Neil McKenzie) writes:
>So, can someone post a terminfo source file for xterm?  Or, are there
>source examples to study (such as vt100 which is pretty close to xterm)?

xterm|vs100|xterm terminal emulator,
        am, xenl, km, 
        cols#80, it#8, lines#65, 
        bel=^G, cr=\r, csr=\E[%i%p1%d;%p2%dr, tbc=\E[3g, 
        clear=\E[H\E[2J, 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=@, 
        bold=\E[1m, rev=\E[7m, smso=\E[1m, smul=\E[4m, 
        sgr0=\E[m, rmso=\E[m, rmul=\E[m, ich1=\E[@, 
        il1=\E[L, kbs=\b, kcud1=\EOB, kf1=\EOP, 
        kf2=\EOQ, kf3=\EOR, kf4=\EOS, kcub1=\EOD, 
        kcuf1=\EOC, kcuu1=\EOA, rmkx=\E[?1l\E>, smkx=\E[?1h\E=, 
        dch=\E[%p1%dP, 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, 
        rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, rs2=@kf1=\EOP, rc=\E8, sc=\E7, 
        ind=\n, ri=\EM, sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m, hts=\EH, 
        ht=\t, 

The above is output from the untic command (see also tic) as described in
section 1M of the system V unix manuals (at least on the (non-apple) versions
I'm familiar with.
----------------------------------------------------------------------------
sdlfprtoi vmnlsdfopi			(my real signature is illegible too)

pag@tcsc3b2.UUCP (Philip A. Gross) (01/20/89)

In article <6966@june.cs.washington.edu>, mckenzie@june.cs.washington.edu (Neil McKenzie) writes:
> I've just brought up X11 on A/UX (MacII).  It works just fine, except that
> there was no terminal description for "xterm".  So I thought, no big
> deal, just ftp over /etc/termcap from another machine.  Imagine
> to my surprise that it didn't work.  I realized that there was something
> fishy, and stumbled onto terminfo, which is the SysV (and therefore A/UX)
> way of doing things.
> 
> This is really dumb.  It is really mysterious why there is even an
> /etc/termcap file and even a man page to go with it because the
> termcap file is just ignored.  What is even more unfriendly is that
> the source descriptions are compiled into an unreadable format.  This
> makes it very hard to study examples, since the source formats seem
> to be unavailable (or just well hidden), and reading the binary
> is no help.
> 

The terminfo database found in /usr/lib/terminfo is a rather clever
means of recording the characteristics of a terminal, printer, or
with non-HDB uucp, even modem information.  In order to create a new
definition, enter the appropriate information as described in the manual
page terminfo(4) in section 4 of the _Programmer's Reference Manual_.  If
you have one.  Once you have entered the appropriate information, you will
need to compile it using the command tic(1M).  This will generate the
appropriate terminfo entries for the terminal you defined.  Note that the
terminfo entry(s) is found in a directory under /usr/lib/terminfo that
begins with the first character of the terminal name.

If you have the need to print out or look at an already compiled terminfo
entry, there is the command infocmp which will print a compiled terminfo
entry in /etc/termcap format.

The older /etc/termcap file was used in earlier days of UNIX for the 
definition of terminal characteristics, but has been replaced with the 
terminfo database because the latter is quicker and more efficient to 
process by curses(3X) than the /etc/termcap file.  The only reason that
the /etc/termcap is still around is to retain compatibility with older
software that still uses the /etc/termcap file for the definition of
terminal capabilities.  Someday, AT&T will probably go through with their
threat of removing the /etc/termcap file from future releases of UNIX V.

> I've tried to construct a terminfo file from the termcap file, but
> it doesn't quite work right, but it looks ok.
> 
> So, can someone post a terminfo source file for xterm?  Or, are there
> source examples to study (such as vt100 which is pretty close to xterm)?
> 

Here, you will find the terminfo for a DEC vt100, I couldn't find any
definition for xterm.

#ident	"@(#)/usr/src/lib/terminfo/dec.ti.sl 1.4 3.0 12/06/85 33624 "
# # --------------------------------
#
# dec: DEC (DIGITAL EQUIPMENT CORPORATION)
#
# Manufacturer:	DEC (DIGITAL EQUIPTMENT CORP.)
# Class:	II
# 
# Info:
#	Note that xenl glitch in vt100 is not quite the same as concept,
#	since the cursor is left in a different position while in the
#	weird state (concept at beginning of next line, vt100 at end
#	of this line) so all versions of vi before 3.7 don't handle
#	xenl right on vt100. The correct way to handle xenl is when
#	you output the char in column 80, immediately output CR LF
#	and then assume you are in column 1 of the next line. If xenl
#	is on, am should be on too.
#	
#	I assume you have smooth scroll off or are at a slow enough baud
#	rate that it doesn't matter (1200? or less). Also this assumes
#	that you set auto-nl to "on", if you set it off use vt100-nam 
#	below.
#	
#	The padding requirements listed here are guesses. It is strongly
#	recommended that xon/xoff be enabled, as this is assumed here.
#	
#	The vt100 uses rs2 and rf rather than is2/tbc/hts because the 
#	tab settings are in non-volatile memory and don't need to be 
#	reset upon login. Also setting the number of columns glitches 
#	the screen annoyingly. You can type "reset" to get them set.
#
vt100|vt100-am|dec vt100 (w/advanced video),
	mir, msgr, cr=^M, cud1=^J, ind=^J, bel=^G, cols#80, lines#24, it#8,
	clear=\E[H\E[J$<50>, cub1=^H, am, cup=\E[%i%p1%d;%p2%dH$<5>,
	cuf1=\E[C$<2>, cuu1=\E[A$<2>, el=\E[K$<3>, el1=\E[1K$<3>, ed=\E[J$<50>,
	cud=\E[%p1%dB, cuu=\E[%p1%dA, cub=\E[%p1%dD, cuf=\E[%p1%dC, 
	smso=\E[1;7m$<2>, rmso=\E[m$<2>, smul=\E[4m$<2>, rmul=\E[m$<2>,
	bold=\E[1m$<2>, rev=\E[7m$<2>, blink=\E[5m$<2>, sgr0=\E[m^O$<2>,
	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t^N%e^O%;,
	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, smkx=\E[?1h\E=, rmkx=\E[?1l\E>,
	enacs=\E(B\E)0, smacs=^N, rmacs=^O,
	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
	tbc=\E[3g, hts=\EH, home=\E[H, ht=^I, ri=\EM$<5>,
	kcuu1=\EOA, kcud1=\EOB, kcuf1=\EOC, kcub1=\EOD, kbs=^H,

# Info:
# This is how the keypad gets assigned.
#	PF1	  PF2	    PF3	      PF4
	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
#	7	  8	     9	    '-' does not send anything on my terminal.
	kf9=\EOw, kf10=\EOx, kf0=\EOy,
#	4	  5	    6	      ,
	kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl,
#	1	  2	    3
	ka1=\EOq, kb2=\EOr, ka3=\EOs,
#	0	  .	    ENTER
	kc1=\EOp, kc3=\EOn, kent=\EOM,
#


	vt#3, xenl, xon, sc=\E7, rc=\E8, csr=\E[%i%p1%d;%p2%dr,
vt100-nam|vt100 w/no am (w/advanced video),
	am@, xenl@, use=vt100-am,
# Info:
#	Ordinary vt100 in 132 column ("wide") mode.
#
vt100-w|vt100-w-am|dec vt100 132 cols (w/advanced video),
	cols#132, lines#14, rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=vt100-am,
vt100-w-nam|vt100-nam-w|dec vt100 132 cols (w/advanced video),
	cols#132, lines#14, rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, vt@, use=vt100-nam,
# Info:
#	vt100's with no advanced video.
#
vt100-nav|vt100 without advanced video option,
	sgr@, smso=\E[7m , rmso=\E[m , xmc#1,
	smul@, rmul@, bold@, rev@, blink@, sgr0@, use=vt100,
vt100-nav-w|vt100-w-nav|dec vt100 132 cols 14 lines (no advanced video option),
	lines#14, cols#132, use=vt100-nav,
# Info:
#	vt100's with one of the 24 lines used as a status line.
#	We put the status line on the top.
#
vt100-s|vt100-s-top|vt100-top-s|vt100 for use with sysline,
	lines#23, is2=\E7\E[2;24r\E8, clear=\E[2;1H\E[J$<50>, home=\E[2;1H,
	dsl=\E7\E[1;24r\E8,
	cup=\E[%i%p1%{1}%+%d;%p2%dH$<5>, csr=\E[%i%i%p1%d;%p2%dr,
	hs, eslok, tsl=\E7\E[1;%p1%dH\E[1K, fsl=\E8, use=vt100-am,
# Info:
#	Status line at bottom. 
#	Clearing the screen will clobber status line.
#
vt100-s-bot|vt100-bot-s|vt100 for use with sysline,
	lines#23, is2=\E[1;23r\E[23;1H, dsl=\E7\E[1;24r\E8,
	hs, eslok, tsl=\E7\E[24;%p1%dH\E[1K, fsl=\E8, use=vt100-am,


Best of luck with your MAC II and A/UX(tm).


========================================+======================================
Philip A. Gross				|
The Computer Solution Co., Inc.  	|  I haven't heard what I have
1009 Sycamore Square, P.O. Box 716	|  to say about that yet.
Midlothian, VA  23113-0716	   	|
Voice: (804)794-3491		   	|
----------------------------------------+--------------------------------------
INTERNET:	pag%tcsc3b2@wb3ffv.ampr.org
USENET:		...!ames!haven!aplcen!wb3ffv!tcsc3b2!pag
UUCP:		tcsc3b2!pag		(804)794-1514
ATTMAIL:	attmail!tcsc3b2!pag
*******************************************************************************
	The opinions expressed here are strictly mine and nobody elses.
===============================================================================

davidsen@steinmetz.ge.com (William E. Davidsen Jr) (01/20/89)

In article <6966@june.cs.washington.edu> mckenzie@uw-june.UUCP (Neil McKenzie) writes:

| This is really dumb.  It is really mysterious why there is even an
| /etc/termcap file and even a man page to go with it because the
| termcap file is just ignored.  What is even more unfriendly is that
| the source descriptions are compiled into an unreadable format.  This
| makes it very hard to study examples, since the source formats seem
| to be unavailable (or just well hidden), and reading the binary
| is no help.

  Actually, termcap is fully supported by the system, but the program
chose to use termlib instead. It sounds to me as though you are blaming
the o/s in some way for a design choice of an application.

  If you don't get the terminfo stuff I think I can find one for you,
from the X11 stuff.
-- 
	bill davidsen		(wedu@ge-crd.arpa)
  {uunet | philabs}!steinmetz!crdos1!davidsen
"Stupidity, like virtue, is its own reward" -me

dhk@teletech.UUCP (Don H Kemp) (01/20/89)

In article <6982@june.cs.washington.edu>, mckenzie@june.cs.washington.edu (Neil McKenzie) writes:
> It turns out that someone mailed me source to "captoinfo" which
> translates termcap entries into terminfo source.
> 
> --Neil McKenzie  (mckenzie@cs.washington.edu)

If the kind soul who sent "captoinfo" to you would post it to the
net, I'm sure many other folks would find it useful.

Don

-- 
Don H Kemp			"Always listen to experts.  They'll
Tele-Tech Management		 tell you what can't be done, and
Poultney, VT			 why.  Then do it."
uunet!uvm-gen!teletech!dhk	  	               Lazarus Long

mckenzie@june.cs.washington.edu (Neil McKenzie) (01/22/89)

Even though I have been able to fix my problem here with the friendly
advice of the readers of comp.unix.*, it seems that most of these Sys V
applications are not shipped with A/UX, and *this* is my gripe here.
Perhaps Apple can ship "captoinfo", "infocap" and a few others with
A/UX in the future.  Yes, there is "tic" but no "untic"..

Some people have requested that I post source for "captoinfo".  Is it
bad practice to post source code to this group?

--Neil (communication breakdown, it's always the same...) McKenzie
mckenzie@june.cs.washington.edu

aem@ibiza.Miami.Edu (a.e.mossberg) (01/24/89)

In <120@teletech.UUCP>, <dhk@teletech.UUCP> wrote:
>If the kind soul who sent "captoinfo" to you would post it to the
>net, I'm sure many other folks would find it useful.

I suggest instead that people be directed to the comp.sources archives.


aem

a.e.mossberg aem@mthvax.miami.edu MIAVAX::AEM (Span) aem@umiami.BITNET (soon)
Men are born to be slaves.			- Lillie Langtry

aem@ibiza.Miami.Edu (a.e.mossberg) (01/24/89)

In <358@tcsc3b2.UUCP>, <pag@tcsc3b2.UUCP> wrote:
>The older /etc/termcap file was used in earlier days of UNIX for the 
>definition of terminal characteristics, but has been replaced with the 
>terminfo database because the latter is quicker and more efficient to 
>process by curses(3X) than the /etc/termcap file.  The only reason that
>the /etc/termcap is still around is to retain compatibility with older
>software that still uses the /etc/termcap file for the definition of
>terminal capabilities.  Someday, AT&T will probably go through with their
>threat of removing the /etc/termcap file from future releases of UNIX V.

/etc/termcap is BSD.  AT&T came up with a compiled version which loads
somewhat faster, and uses very similar source files. Most, if not all, BSD
systems use /etc/termcap. Terminfo is used by Sys V and derivatives (A/IX,
A/UX, etc).


aem
a.e.mossberg aem@mthvax.miami.edu MIAVAX::AEM (Span) aem@umiami.BITNET (soon)
Men are born to be slaves.			- Lillie Langtry

hansen@pegasus.ATT.COM (Tony L. Hansen) (01/25/89)

< The captoinfo source is available by anonymous FTP from uunet.uu.net. The
< file is ~ftp/comp.sources.unix/volume3/tctoti.Z. This file then needs to
< be uncompressed.  Run the file after "cut here" through /bin/sh; this
< builds everything for make.  Then "make".  Then run it.

For completeness' sake, there are two versions of the program named
"captoinfo". The one mentioned above is a PD program and may freely be
redistributed. The one I'm most familiar with (since I wrote it) comes with
all System V release 3 machines, as well as available from the AT&T UNIX
Toolchest for a small fee. [Just call 1-201-522-6900 and login as "guest"
(there is no passwd) to browse through the Toolchest.] (This version may not
be freely redistributed except to other machines within your site.)

I won't compare the two programs as I didn't even bother keeping a copy of
the PD version for more than a few days, except to say that I did notice
that the PD version does not handle some of the more esoteric termcap
capabilities. I can't say anything else about the quality of translation by
it.

					Tony Hansen
				att!pegasus!hansen, attmail!tony

peno@kps.UUCP (Pekka Nousiainen /DP) (01/28/89)

>>terminfo database because the latter is quicker and more efficient to 
>>process by curses(3X) than the /etc/termcap file.

>/etc/termcap is BSD.  AT&T came up with a compiled version which loads
>somewhat faster

Loading a (binary) termcap from a file is hardly faster than scanning it
from TERMCAP in the environment.  But I'm curious about the first statement.
Is it true that decoding say cursor addressing is significantly faster if
terminfo is used?

--
peno@kps

chris@mimsy.UUCP (Chris Torek) (01/30/89)

In article <443@kps.UUCP> peno@kps.UUCP (Pekka Nousiainen /DP) writes:
>Is it true that decoding say cursor addressing is significantly faster if
>terminfo is used?

No.

The true difference and reason for preferring terminfo to termcap is
that terminfo does more.  It is not limited to a silly two characters
per entry, and it allows almost arbitrary computation of parameters,
neither of which is true of termcap.

To the user, all else is window dressing.
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163)
Domain:	chris@mimsy.umd.edu	Path:	uunet!mimsy!chris

will@presto.ig.com (Will Nelson) (02/03/89)

In article <1312@umbio.MIAMI.EDU>, aem@ibiza.Miami.Edu (a.e.mossberg) writes:
> 
> /etc/termcap is BSD.  AT&T came up with a compiled version which loads
> somewhat faster, and uses very similar source files. Most, if not all, BSD
> systems use /etc/termcap. Terminfo is used by Sys V and derivatives (A/IX,
> A/UX, etc).
> 

Just a note to say that /etc/termcap didn't originate at Berkeley.
Version 7 and System III from AT&T used it, too.

gwyn@smoke.BRL.MIL (Doug Gwyn ) (02/03/89)

In article <6912@ig.ig.com> will@presto.ig.com (Will Nelson) writes:
>Just a note to say that /etc/termcap didn't originate at Berkeley.
>Version 7 and System III from AT&T used it, too.

I beg to differ.  I don't believe either 7th Edition UNIX or UNIX
System III had termcap.  It did originate at Berkeley.

will@presto.ig.com (Will Nelson) (02/03/89)

In article <6912@ig.ig.com>, will@presto.ig.com (Will Nelson) writes:
> In article <1312@umbio.MIAMI.EDU>, aem@ibiza.Miami.Edu (a.e.mossberg) writes:
> > 
> > /etc/termcap is BSD.  AT&T came up with a compiled version which loads
> > somewhat faster, and uses very similar source files. Most, if not all, BSD
> > systems use /etc/termcap. Terminfo is used by Sys V and derivatives (A/IX,
> > A/UX, etc).
> > 
> 
> Just a note to say that /etc/termcap didn't originate at Berkeley.
> Version 7 and System III from AT&T used it, too.


I was wrong. Here is the mail Rich Salz and I exchanged on this:

I'm sure you'll get lots of comments about this, but you're wrong.
Bill Joy came up with the termcap concept will working on an
early BSD.  Some Version 7 vendors (e.g., UniSoft 68000 ports)
and some System III vendors (e.g., the new-defunct Fortune)
bought up those enhancements, but termcap is Joy's baby...
	/rich $alz
-- 

The port that I saw was UniSoft 68000 Version 7.
I also saw UniSoft System III, Zilog System III and Onyx System III.
I'll bow to your explanation, since I've never seen the Version 7
and System III sources as they came from AT&T.
Now I'll just have to get ready to weather the flame-storms :-)
Thanks.
-- 
Will Nelson			Internet: will@presto.ig.com
Intelligenetics, Inc.		(415) 962-7300
700 East El Camino Real
Mountain View, CA  94040

guy@auspex.UUCP (Guy Harris) (02/04/89)

>Just a note to say that /etc/termcap didn't originate at Berkeley.
>Version 7 and System III from AT&T used it, too.

Just a note to say that the above claim is completely false.  V7 most
definitely did *not* come from AT&T with "termcap", and neither did
System III. 

"termcap" originally came from Berkeley with the first Berkeley Software
Distribution ("first", not "First", since there was only one at the
time), which was based on V6.

(Historical note: V6 didn't have the notion of "environment variables",
so the Berkeley V6 enhancements included had some hack involving a file
in, as I remember, "/etc", which stored a two-character terminal type
for each port; that's why there are those two-character names in
"termcap".)

Some vendors may have *added* "/etc/termcap" to their V7 or S3 systems,
but that's a different matter.

aem@ibiza.Miami.Edu (a.e.mossberg) (02/04/89)

In <6912@ig.ig.com>, <will@presto.ig.com> wrote:
>In article <1312@umbio.MIAMI.EDU>, aem@ibiza.Miami.Edu (a.e.mossberg) writes:

>> /etc/termcap is BSD.  AT&T came up with a compiled version which loads
>> somewhat faster, and uses very similar source files. Most, if not all, BSD
>> systems use /etc/termcap. Terminfo is used by Sys V and derivatives (A/IX,
>> A/UX, etc).

>Just a note to say that /etc/termcap didn't originate at Berkeley.
>Version 7 and System III from AT&T used it, too.

Possibly true. The major program that uses termcap is curses, which was written
at Berkeley, and all of the other files that use termcap style information
(printcap, acucap) are for berkeley programs.  And if ATT developed termcap,
where is anything from them that used it? Why didn't they expand it rather
than come up with terminfo?  The only systems I've seen without termcap
have been System III.  


aem
a.e.mossberg aem@mthvax.miami.edu MIAVAX::AEM (Span) aem@umiami.BITNET (soon)
Masturbation is fun...it makes a cloudy day sunny.	- Debbie Harry