From owner-freebsd-current@FreeBSD.ORG Wed May 4 15:00:44 2005 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A8F6416A4CE for ; Wed, 4 May 2005 15:00:44 +0000 (GMT) Received: from orb.pobox.com (orb.pobox.com [207.8.226.5]) by mx1.FreeBSD.org (Postfix) with ESMTP id 46D1543D3F for ; Wed, 4 May 2005 15:00:44 +0000 (GMT) (envelope-from b.candler@pobox.com) Received: from orb (localhost [127.0.0.1]) by orb.pobox.com (Postfix) with ESMTP id A9B4F8B7; Wed, 4 May 2005 11:00:17 -0400 (EDT) Received: from billdog.local.linnet.org (dsl-212-74-113-65.access.uk.tiscali.com [212.74.113.65]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by orb.sasl.smtp.pobox.com (Postfix) with ESMTP id 4BC1D8C; Wed, 4 May 2005 11:00:15 -0400 (EDT) Received: from brian by billdog.local.linnet.org with local (Exim 4.43 (FreeBSD)) id 1DTLO5-0000fe-Eg; Wed, 04 May 2005 16:02:09 +0100 Date: Wed, 4 May 2005 16:02:09 +0100 From: Brian Candler To: "Julian H. Stacey" Message-ID: <20050504150209.GA2516@uk.tiscali.com> References: <20050504132429.GA2105@uk.tiscali.com> <200505041429.j44ETZMh036122@fire.jhs.private> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200505041429.j44ETZMh036122@fire.jhs.private> User-Agent: Mutt/1.4.2.1i cc: Bruce M Simpson cc: freebsd-current@freebsd.org Subject: Re: boot banner project X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 May 2005 15:00:44 -0000 On Wed, May 04, 2005 at 04:29:35PM +0200, Julian H. Stacey wrote: > > > tcsh is in the base system and has that capability. > > > > Except: > > > > (1) it's not enabled by default (you need "set autolist", which I only > > discovered recently) > > FreeBSD-5.3 (with csh & tcsh) linked does completion without autolist set. > man csh: > If the autolist shell variable is set, the shell lists the remaining > choices (if any) whenever completion fails: Erm?? As you point out, it says "If the autolist shell variable is set" ^^ ^^^^^^ And furthermore, the example which follows it shows: > set autolist > nm /usr/lib/libt[tab] libtermcap.a@ libtermlib.a@ > nm /usr/lib/libterm "set autolist" could be made the default in /etc/csh.cshrc if desired. However, this still doesn't alter the fact that csh is a non-POSIX shell. A long time ago I came across a very good explanation of why csh is totally unsuitable for scripting; you can probably find it yourself by googling. But it seems pointless to have one shell for interactive use and a different and incompatible one for scripting; and for `pw useradd` to choose /bin/sh when creating new users, but for root to have /bin/csh! This is just an inconsistency in FreeBSD. Why does root have /bin/csh as its shell? I imagine that it's because it has interactive command editing and history. Now that /bin/sh has that feature, is there any reason for this inconsistency to remain? I'm not opposed to csh remaining bundled with the system indefinitely, for those who want it, and for historical purposes. But I don't see why people should need to be exposed to it these days. Give them /bin/sh, which now has basic history and command editing, and if they find limitations in that, they can always upgrade to "bash" from packages. (Or they can switch to csh, but then they've made an explicit decision to do so, rather than inflicting it on everyone) Regards, Brian.