From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20342 invoked from network); 18 Jan 2005 08:00:49 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 18 Jan 2005 08:00:49 -0000 Received: (qmail 90404 invoked from network); 18 Jan 2005 07:52:25 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 18 Jan 2005 07:52:25 -0000 Received: (qmail 5066 invoked by alias); 17 Jan 2005 23:11:50 -0000 Mailing-List: contact zsh-users-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 8386 Received: (qmail 5053 invoked from network); 17 Jan 2005 23:11:50 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by sunsite.dk with SMTP; 17 Jan 2005 23:11:50 -0000 Received: (qmail 85075 invoked from network); 17 Jan 2005 23:11:50 -0000 Received: from out012pub.verizon.net (HELO out012.verizon.net) (206.46.170.137) by a.mx.sunsite.dk with SMTP; 17 Jan 2005 23:11:48 -0000 Received: from candle.brasslantern.com ([4.11.10.129]) by out012.verizon.net (InterMail vM.5.01.06.06 201-253-122-130-106-20030910) with ESMTP id <20050117231145.VYBJ10436.out012.verizon.net@candle.brasslantern.com> for ; Mon, 17 Jan 2005 17:11:45 -0600 Received: from candle.brasslantern.com (IDENT:schaefer@localhost [127.0.0.1]) by candle.brasslantern.com (8.12.11/8.12.11) with ESMTP id j0HNBetn030533 for ; Mon, 17 Jan 2005 15:11:40 -0800 Received: (from schaefer@localhost) by candle.brasslantern.com (8.12.11/8.12.11/Submit) id j0HNBeWX030532 for zsh-users@sunsite.dk; Mon, 17 Jan 2005 15:11:40 -0800 From: Bart Schaefer Message-Id: <1050117231139.ZM30531@candle.brasslantern.com> Date: Mon, 17 Jan 2005 23:11:39 +0000 In-Reply-To: Comments: In reply to "William H. Magill" "Re: bug (feature?) in zsh" (Jan 17, 10:59am) References: <200501160216.15097.toshiro@internet.com.uy> <1050116063300.ZM23267@candle.brasslantern.com> X-Mailer: Z-Mail (5.0.0 30July97) To: zsh-users@sunsite.dk Subject: Re: bug (feature?) in zsh MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Authentication-Info: Submitted using SMTP AUTH at out012.verizon.net from [4.11.10.129] at Mon, 17 Jan 2005 17:11:41 -0600 X-Spam-Checker-Version: SpamAssassin 3.0.2 on a.mx.sunsite.dk X-Spam-Level: X-Spam-Status: No, score=-2.6 required=6.0 tests=AWL,BAYES_00 autolearn=ham version=3.0.2 X-Spam-Hits: -2.6 On Jan 17, 10:59am, William H. Magill wrote: } Subject: Re: bug (feature?) in zsh } } On 16 Jan, 2005, at 01:33, Bart Schaefer wrote: } } > The completion system (including compctl) uses the command hash table } } The use of a hash table for command execution/completion was } implemented with csh -- many, many years ago. Those shells which have } descended from csh (tcsh, zsh) behave in this same fashion. It is the } expected behavior. This would almost be correct, except that zsh can't really be said to have "descended" from csh. It was written entirely independently and was always meant to be more like ksh than csh; Paul Falstad borrowed some csh features that he liked, is all. Furthermore, it's possible to turn off zsh's use of the hash table if all you're doing is command execution -- but completion forces the hash table to be filled and uses it exclusively. } This difference was mainly because the "csh" was intended as an } "interactive" shell, and therefore included features (like command } completion) which made usage on what at the time were the standard } input devices -- 110 baud ttys -- much easier on the operator. Several years passed after csh's first deployment before completion was added. } In the beginning there was only Bell Labs and it was called "sh." } [...] Meanwhile BSD created csh to run on top of sh. "Run on top of"?? Csh is and always has been written directly in C, not as some kind of front on sh. } All Unix variants and Linux variants boot into some form of "sh." } Today, I believe all variants of Unix and Linux run "new sh" for } process 0, which in turn spawns init. This is news to me, and to the authors of "hp-ux 11i internals" as well (which I happen to have sitting here because the publisher sent me an unsolicited copy hoping I'd review it on Amazon). The boot loader loads the kernel, and the kernel spawns init directly, not by going through sh. (This doesn't mean the kernel doesn't also spawn shells.) } That this is not in the FAQ is not really surprising. Interesting, but } not surprising. What I meant "isn't yet in the FAQ" is the difference between completion and execution with regard to the hash table behavior.