Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Nov 2004 18:59:32 +0200
From:      Peter Pentchev <roam@ringlet.net>
To:        Kevin Lyons <klyons@corserv.com>
Cc:        Kris Kennaway <kris@FreeBSD.ORG>
Subject:   Re: tcsh is not csh
Message-ID:  <20041112165931.GA896@straylight.m.ringlet.net>
In-Reply-To: <4193E0F9.7030506@corserv.com>
References:  <200411112237.iABMb6YV001471@corserv.corserv.com> <20041111215923.GE582@hub.freebsd.org> <4193E0F9.7030506@corserv.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--EVF5PPMfhYS0aIcm
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Nov 11, 2004 at 04:00:25PM -0600, Kevin Lyons wrote:
> Kris Kennaway wrote:
>=20
> >
> >Please raise tcsh compatibility bugs with the tcsh developers.
>=20
> Well I think that this problem is not so much with tcsh as freebsd. If=20
> tcsh wants to pull this kind of crap, fine.
>=20
> But I really think it is a mistake for freebsd to put a copy of tcsh in=
=20
> /bin and call it csh.  Folks and programs that rely on old csh get funny=
=20
> surprises when tcsh is called csh.  For what, so that there is no tcsh=20
> in /shells?
>=20
> I am sure I do not have to elucidate on the problems this can cause.

[disclaimer: I have not been involved in any way in the import and
 maintenance of tcsh in FreeBSD.  Any assertions made here come purely
 from a user's perspective, and may thus be slightly or vastly off the
 mark]

Now wait just a minute here.  There's a little fact that I think you
are missing :)

What FreeBSD did ~4 years ago was NOT to take tcsh as-is and just plonk
it into /bin/csh.  Rather, what FreeBSD did was 1. install tcsh as
/bin/tcsh (you can verify that it is there, and that it is in
/etc/shells, too), and then *also* install it as /bin/csh, which - and
here's the little fact that you might be missing - activates tcsh's "csh
compatibility mode".

Yes, tcsh checks how it is being executed, and tries to emulate the
historical csh behavior as best it can, if it has been invoked as 'csh'
and not 'tcsh'.  Thus, it seems to have been the FreeBSD Project's
intention to *keep* csh compatibility for csh scripts, while also
providing the extended capabilities of tcsh for those users who choose
to use them by *explicitly* invoking it as tcsh.

And this is why people keep telling you that you should actually
complain to the tcsh developers, not the FreeBSD developers, for the
incompatibilities between 44bsd-csh and tcsh *in csh-compatility mode*.
Over the years, later versions of tcsh have been imported into FreeBSD,
with the general goal being to incorporate the improvements *and
bugfixes* that made their way into those later upstream tcsh versions.
Thus, if there is a bug in tcsh's csh compatibility mode, you really
might do better to report it to the tcsh maintainers - on the several
occassions when I've needed to report tcsh(1) and file(1) issues to
Christos Zoulas, I've found him to be quite responsive and willing to
accomodate reasonable requests and bugfixes :)

G'luck,
Peter

--=20
Peter Pentchev	roam@ringlet.net    roam@cnsys.bg    roam@FreeBSD.org
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
If wishes were fishes, the antecedent of this conditional would be true.

--EVF5PPMfhYS0aIcm
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (FreeBSD)

iD8DBQFBlOvz7Ri2jRYZRVMRArt1AJ94Tjdu5KAP7PDPswIPEZ6UF0LuZwCgldGy
j547GA3zDNW79RMrviXrP0c=
=C4iQ
-----END PGP SIGNATURE-----

--EVF5PPMfhYS0aIcm--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041112165931.GA896>