From owner-freebsd-arch Thu Apr 6 14:22:22 2000 Delivered-To: freebsd-arch@freebsd.org Received: from ns1.yes.no (ns1.yes.no [195.204.136.10]) by hub.freebsd.org (Postfix) with ESMTP id 75B4437C109 for ; Thu, 6 Apr 2000 14:22:08 -0700 (PDT) (envelope-from eivind@bitbox.follo.net) Received: from bitbox.follo.net (bitbox.follo.net [195.204.143.218]) by ns1.yes.no (8.9.3/8.9.3) with ESMTP id XAA09445 for ; Thu, 6 Apr 2000 23:25:38 +0200 (CEST) Received: (from eivind@localhost) by bitbox.follo.net (8.8.8/8.8.6) id XAA33962 for freebsd-arch@freebsd.org; Thu, 6 Apr 2000 23:22:03 +0200 (CEST) Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id 7F6BB37BC7C; Thu, 6 Apr 2000 14:21:43 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.3/8.9.1) id OAA90627; Thu, 6 Apr 2000 14:21:36 -0700 (PDT) (envelope-from dillon) Date: Thu, 6 Apr 2000 14:21:36 -0700 (PDT) From: Matthew Dillon Message-Id: <200004062121.OAA90627@apollo.backplane.com> To: "David O'Brien" Cc: arch@freebsd.org Subject: Re: Import of tcsh into src/contrib/, replacing src/usr.bin/csh References: <20000406134916.A23265@dragon.nuxi.com> Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG :I'm going to be importing tcsh into src/contrib/ and replacing /bin/csh :with tcsh. Tcsh started life as the CSRG BSD csh sources, is maintained :by a BSD developer, and is fully under the BSD license. I can find zero :reason to keep our limited UI /bin/csh. I've seen *MANY* people get :highly irritated at root's shell being one of poor UI. Of the [t]csh :users I know, only about 10% use csh over tcsh and that is only because :csh is in the base system. Those people would not even notice the extra :tcsh features. : :Before someone asks here are the sizes: : : 379900 /bin/csh* : 561536 /bin/sh* : 336852 tcsh* : 735152 tcsh.static* : :Yes I know tcsh is larger than csh, but does that *really* matter? Only :the "operator" user in PicoBSD uses csh, and that could easily be changed :to `sh'. I can't find any CSH scripts that are part of PicoBSD, so I :don't see where csh is a dependency for PicoBSD. : :-- :-- David (obrien@NUXI.com) I don't think we can replace /bin/csh with tcsh, for compatibility reasons. Thousands upon thousands of scripts use csh and the risk is just too great that we might break some of them. Remember /bin/sh vs /bin/bash? I'll admit /bin/csh vs /bin/tcsh is less of a problem, but it's still a problem. I think we *CAN* change the default shell to tcsh, and make /bin/tcsh official (rather then having to use /usr/local/bin/tcsh). I've used tcsh for years, even for shell scripts (because it doesn't have internal variable size limitations for things like foreach loops containing backticked command output), and I think making it the default is an excellent idea. I would also propose that the default csh.cshrc (which tcsh sources) still be used for both tcsh and csh since it's so trivial to test which one is sourcing the file. I do *NOT* recommend creating a separate .tcshrc. And I would also propose that we turn command-line partial-history- completion on by default. Once you start using it, you will never go back (Amiga, anyone?). Finally, I recommend that we map ^W to word-erase (for tcsh). for "/etc/csh.cshrc": if ( $shell == "/bin/tcsh" || $shell == "/usr/local/bin/tcsh" ) then set prompt = "%m:%/%# " set symlinks = expand bindkey "^W" backward-delete-word bindkey -k up history-search-backward bindkey -k down history-search-forward endif -Matt Matthew Dillon To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message