[comp.sources.d] Tcsh and sources to csh

root@cca.ucsf.edu (Systems Staff) (05/03/90)

In article <55554@bbn.COM>, pplacewa@bbn.com (Paul W Placeway) writes:
> <    >  [ stuff about getting the sources to tcsh ] Anyone know where I can
> <    >  swipe the sources to csh?
> 
> <    >Not without sending you to jail.  You need an AT&T source license to
> <    >get the sources to csh.
> ...
> Correct.  Berkeley has not yet suceeded in freeing the rest of csh
> from the v6 /bin/sh sources.  What I heard is that the latest time
           ^^---- should that be v7?
> they asked "is it free now", AT&T responded something like "maybe it
> is, and maybe it isn't.  Why don't you release it and find out".
> ...
> Maybe I should put a file in the FTP/UUCP area called something like
> "forget_about_tcsh.src_if_you_don't_have_BSD_sources"...
> 

The only version of csh sources which are freely available that I
have seen is described in its README file as follows:


| This is csh for the AT&T 3B2.  It is essentially the same code as
| came with Berkeley 2.9BSD called ``oldcsh''.  To install it on a 3b2
| type "make ninstall".

| 			    Notes

| In Unix SYS V the file /etc/profile is executed at login by /bin/sh.
| To simulate this, at the same times a $HOME/.login would be read, the
| file /etc/login is executed.  This file should emulate anything that
| is done by /etc/profile.  A sample is inculded in this directory.

| Getpwent:  There are stripped down versions of getpwent enclosed.
| You can use them or your standard system getpwent routines.  Some
| getpwents have bugs which prevent the ~user syntax from working more
| than once.  (They try to open the passwd file and keep a file descriptor
| open, but csh closes all file descriptors.)  getpwnam is supposed to call
| endpwent which closes passwd.  The other reason to use the local getpwent
| routines is to help make csh fit in 40K to run -n, since the standard ones
| suck in stdio.  Otherwise you might as well use the stdio versions since
| csh will run slightly faster doing ~user with stdio buffering.

| Bugs:  there are lots of them.  All known bugs have been fixed in the process
| control version.  Here's a kludge to get around the current peeve:
| a bug prevents >file from working as the first command in a .logout or
| source command.  If you really want this, put another command before it
| or put the command in parentheses.  The only known fix to this prevents
| the construct "source file > file2" from working, which is probably just
| as well.


I was surprised and concerned when I saw this and contacted the sysadmin
who told me that this version had indeed been cleared by AT&T through
their (I think I remember the title -- this was a while back) University
Consortium Initiative.

Sometimes it seems like on AT&T hand doesn't know waht the other one
is doing.

Does anyone know whether this version would be of any use in building
tcsh?

 Thos Sumner       Internet: thos@cca.ucsf.edu
 (The I.G.)        UUCP: ...ucbvax!ucsfcgl!cca.ucsf!thos
                   BITNET:  thos@ucsfcca

 U.S. Mail:  Thos Sumner, Computer Center, Rm U-76, UCSF
             San Francisco, CA 94143-0704 USA

I hear nothing in life is certain but death and taxes -- and they're
working on death.

#include <disclaimer.std>

karl_kleinpaste@cis.ohio-state.edu (05/03/90)

root@cca.ucsf.edu writes:
   The only version of csh sources which are freely available that I
   have seen is described in its README file as follows:

   | This is csh for the AT&T 3B2.  It is essentially the same code as
   | came with Berkeley 2.9BSD called ``oldcsh''...
   ...
   Does anyone know whether this version would be of any use in building
   tcsh?

Not at all.  That version dates from approximately 1982 or
thereabouts, and is completely lacking in job control; has no
directory stack; probably has no "eval" statement and if it has it,
it's broken; is severely broken in any environment where sizeof(int)
!= sizeof(long) [watch the internal routine execash() drop core;
personally, I _like_ lint(1)]; and lacks a number of lexical changes
(e.g., simple rewrites of internals [e.g., using qsort() during
globbing] and a whole herd of bugfixes).

Don't use it for anything but its source-reading entertainment value.

--karl

bostic@ucbvax.BERKELEY.EDU (Keith Bostic) (05/10/90)

In article <2849@ucsfcca.ucsf.edu>, root@cca.ucsf.edu (Systems Staff) writes:
> In article <55554@bbn.COM>, pplacewa@bbn.com (Paul W Placeway) writes:
> > Correct.  Berkeley has not yet suceeded in freeing the rest of csh
> > from the v6 /bin/sh sources.  What I heard is that the latest time
>            ^^---- should that be v7?
> > they asked "is it free now", AT&T responded something like "maybe it
> > is, and maybe it isn't.  Why don't you release it and find out".
> > ...
> > Maybe I should put a file in the FTP/UUCP area called something like
> > "forget_about_tcsh.src_if_you_don't_have_BSD_sources"...
> 
> The only version of csh sources which are freely available that I
> have seen is described in its README file as follows:

The csh contains AT&T proprietary source code from V6.  This
includes all versions of csh of which I am aware, as well as
tcsh.  If anyone wants to fix this problem once and for all,
please contact me.

The version of csh to which Thos Sumner alluded, is, I suspect
the version distributed by U3G (University Unix User's Group), an
AT&T/System V sponsored group.  While U3G's literature mentions
public domain software, and they do include much that is, the
problem is that lots of it is standard licensed software.  Unless
someone knows something that I don't, I suspect that all of the
U3G software must be treated as tainted.

--keith