Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84 SMI; site sun.uucp
Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!decvax!decwrl!sun!guy
From: guy@sun.uucp (Guy Harris)
Newsgroups: net.micro.att
Subject: Re: Several System 5.2 questions
Message-ID: <2415@sun.uucp>
Date: Fri, 12-Jul-85 04:56:35 EDT
Article-I.D.: sun.2415
Posted: Fri Jul 12 04:56:35 1985
Date-Received: Sat, 13-Jul-85 16:48:42 EDT
References: <2067@ucf-cs.UUCP>
Organization: Sun Microsystems, Inc.
Lines: 158

> 1) What is the current release of System 5?

I believe it depends on what machine you're on.  It's S5R2V2 for the VAX.

> 2) termcap vs. terminfo vs. curses.  What will 5.2 have?

The VAX 5.2 has the "curses"/"terminfo" package.

> 	What is the difference between termcap and terminfo?

"terminfo" has a lot more per-terminal capabilities (i.e., control strings,
characteristics, etc.) than "termcap".  The database is in a "compiled"
format for faster loading.

> Will both stay around or is termcap likely to die.

There's no technical reason for "termcap" to stick around, other than the
cost of conversion.  There is a "termcap"-emulator package in the "curses"
library, so programs written for "termcap" should work (unless they do
something *really* weird), and there is a monster "ex" script that does a
lot of the work of converting "termcap" descriptions to "terminfo"
descriptions.  However, "terminfo" requires an S5R2 license, so...

> Does 4.3BSD stick with termcap or move to terminfo?

I don't think they move to "terminfo", unless Pavel Curtis' public-domain
"curses" supports "terminfo" and they picked that up.

> Do the curses routines work with both	termcap and terminfo?

The 4.2BSD curses could probably work with "terminfo" using the "termcap"
emulator (but it may do "something really weird", so it may not).  The S5R2
"curses" uses a lot of the added capabilities of "terminfo" so it won't work
with "termcap".

> Are the curses routines compatable between 4.xBSD and S5?

Pretty much.  I've recompiled a number of "curses"-using programs written
for "old curses" with "new curses" and they work.  A number of 4.2BSD
programs already have hooks in them for "new curses" (like "mille" and, I
think, "sysline").

> Does terminfo have graphic character information to allow real boxes
> to be drawn vs. the box(stdwin,'|','-') type.

Not to my knowledge.  Solving that problem in general is difficult if not
impossible.  Not all terminals have line-drawing characters, and even those
that do don't have compatible characters in the same position in the
alternate character set.

> Does terminfo distinquish attribute modes by name rather than function.
> i.e. "Reverse video" rather than "stand-out mode" which might be "half
> intensity" for a different terminal.

"terminfo" has "enter_standout_mode" and "exit_standout_mode" capabilities
(which are, presumably, terminal-dependent in what they actually do, just as
in "termcap); it also has "enter_blink_mode", "enter_bold_mode",
"enter_dim_mode", etc. capabilities and their equivalent "exit"
capabilities.  It also has a "set_attributes" capability which directly sets
video attributes.  This capability is, in effect, the ANSI X3.64 Set Graphic
Rendition sequence (the "terminfo" capabilities mirror X3.64 control
sequences to a large degree).

> 3) nroff/troff and "man" command.  I have none of these.  I believe I heard
> 	that troff might be unbundled to either the documentor's workbench
> 	or writer's workbench...

They are unbundled in S5R2 distributions (i.e., you don't get *roff with an
S5R2 tape).  I don't know how AT&T bundles it in binary distributions for
the 3Bs.

> 5) virtual memory/record locking - I understand that 5.2 does finally
> 	incorporate virtual memory but is that part of the requirements
> 	for ALL versions of 5.2?

S5R2 Version 2 (for the VAX) has virtual memory, but S5R2 Version 1 doesn't.
It is definitely NOT a requirement for all version of S5R2; what if you port
to a machine which can't support virtual memory?

> When (or if) the XENIX version that is 5.2 compatable on the IBM PC is
> implemented, will it support virtual memory...

Not bloody likely; the 808[68] can't support virtual memory (you can't trap
on a missing segment) and the 80286 can't support paged virtual memory, so
you won't see it on a non-AT PC and I don't think it's in the 80286
microport so you may not see it on an AT either.

> Likewise, will all record locking calls be supported identically on all
> 5.2 compatable versions?

Again, S5R2V2 on the VAX has the record locking calls, but S5R2V1 doesn't.
Any S5 based on the releases which have record locking will have compatible
versions.

> 9) Does anybody know if I can buy a CSH for the 3B2 from any source?  I
> 	understand that the bourne shell under 5.2 has some job control
> 	finally (could somebody tell me how this interface works?  Is it
> 	like the csh with ctl-z, fb, bg etc.?)

S5R2 doesn't have job control.  It has "shell layers" which is basically a
window system except for the stuff that actually manages the screen; i.e.,
everything except the part that actually makes windows useful.  You have N
(~7, I think) "layers" managed by a "window" manager called "shl".  Each
layer has a pseudo-tty (or its moral equivalent) as its controlling TTY.
One layer is connected to your keyboard; whatever you type goes into its
pseudo-tty.  All layers are connected to your screen/printhead, although you
can set "loblk" which is like "tostop" in that any attempt by a process
whose layer isn't the "current" layer causes the process to block.  You type
^Z and the TTY switches to the layer manager's pseudo-tty; you then type
commands at the layer manager to switch the TTY to other layers.

The TTY's tty driver modes are the modes of whatever the "current" layer's
process has set them to, so if you switch from a layer in cooked mode to a
layer in character-at-a-time mode the modes switch automatically.  However,
NO indication is given to a process that the TTY is being taken away from it
or given to it, so it can't clear the screen, or move the cursor to a
reasonable place, or take the terminal (as opposed to the TTY driver) out of
what funny mode it's put the terminal into (i.e., setting the keypad of a
VT100 to transmit numbers or escape sequences, putting a VT100 with a
graphics board into Tektronix 4014 or VT100 mode, etc.).

It's also not job control in that you can't stop a process and restart it
later; you can only take the terminal away from it and give it back later.

> but I desperately miss the history,

If you can get the Korn shell (AT&T permits a sublicensor to offer the Korn
shell in binary form with a system; they should take themselves up on that
offer and provide it with 3Bs), you can get history and ~ expansion.  Also,
if you have source you can snarf the history mechanism for the S5R2 Bourne
shell that Arnold Robbins posted to net.sources; I've been using it and it's
very nice.

> push/pop directorys,

I think you can do this with shell functions - I think such a function was
posted by Robbins along with his other stuff.

> ~ expansion,

THe Korn shell and Robbins' changes to the Bourne shell have this.
(Unfortunately, I haven't been using it because it has to read the password
file itself - trying to use something that does "malloc"s inside the Bourne
shell is a headache, due to the way the Bourne shell manages its memory -
and on a Sun workstation running 2.0 or later most of the password file is
probably *not* on your machine but on a server so reading the password file
yourself doesn't help.  Sigh...)

> and ctl-w word delete.

That's not a C shell feature, it's a tty driver feature.  Having added it
(along with all the other Berkeley extensions) to the S5R2 driver I can
testify that it could be in S5R2.  Unfortunately, it isn't.

Enough complains about this kind of stuff and AT&T might put it in - after
all, it worked with the Coca-Cola company...

	Guy Harris