From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8332 invoked from network); 12 Apr 2005 16:21:10 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 12 Apr 2005 16:21:10 -0000 Received: (qmail 67515 invoked from network); 12 Apr 2005 16:21:03 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 12 Apr 2005 16:21:03 -0000 Received: (qmail 10460 invoked by alias); 12 Apr 2005 16:20:56 -0000 Mailing-List: contact zsh-users-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 8673 Received: (qmail 10450 invoked from network); 12 Apr 2005 16:20:55 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by sunsite.dk with SMTP; 12 Apr 2005 16:20:55 -0000 Received: (qmail 66492 invoked from network); 12 Apr 2005 16:20:55 -0000 Received: from mail36.messagelabs.com (193.109.254.211) by a.mx.sunsite.dk with SMTP; 12 Apr 2005 16:20:48 -0000 X-VirusChecked: Checked X-Env-Sender: okiddle@yahoo.co.uk X-Msg-Ref: server-5.tower-36.messagelabs.com!1113322846!16101285!1 X-StarScan-Version: 5.4.11; banners=-,-,- X-Originating-IP: [158.234.9.163] Received: (qmail 12855 invoked from network); 12 Apr 2005 16:20:46 -0000 Received: from iris.logica.co.uk (158.234.9.163) by server-5.tower-36.messagelabs.com with SMTP; 12 Apr 2005 16:20:46 -0000 Received: from trentino.logica.co.uk ([158.234.142.59]) by iris.logica.co.uk (8.12.3/8.12.3/Debian -4) with ESMTP id j3CGKjR9020614 for ; Tue, 12 Apr 2005 17:20:45 +0100 Received: from trentino.groupinfra.com (localhost [127.0.0.1]) by trentino.logica.co.uk (Postfix) with ESMTP id 0CE344BC15 for ; Tue, 12 Apr 2005 18:20:24 +0200 (CEST) X-VirusChecked: Checked X-StarScan-Version: 5.0.7; banners=.,-,- In-reply-to: <1050412151712.ZM28145@candle.brasslantern.com> From: Oliver Kiddle References: <8764yswpbh.fsf@heresy.ainola.jyu.fi> <1050412053438.ZM27569@candle.brasslantern.com> <87r7hgqjnm.fsf@heresy.ainola.jyu.fi> <29001.1113309527@csr.com> <1050412151712.ZM28145@candle.brasslantern.com> To: zsh-users mailing list Subject: Re: Real KSH93 is finally free software! Date: Tue, 12 Apr 2005 18:20:23 +0200 Message-ID: <26858.1113322823@trentino.groupinfra.com> 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=BAYES_00 autolearn=ham version=3.0.2 X-Spam-Hits: -2.6 Bart wrote: > > Actually they *are* particularly tricky, because of the way zsh's nested > parameter expansion passes data around. Our first attempt to implement > namerefs was what led to ${(P)var}. For namerefs, the main job is cleaning up typeset code to not keep disposing of parameters and recreating them anew. The typeset code is also cluttered with special cases for handling special variables. So some form of primitive typeset function needs to go in the _gsu struct. > Discipline functions are ugly because in order to set them the parser has > to implement the other missing bit of ksh syntax, which is namespaces as > in ${foo.bar}. Zsh doesn't allow "." as a valid character in variable The ksh93 implementation of discipline functions doesn't cope well with the fact that functions don't follow parameter scoping rules. So any implementation of discipline functions may be better off using a different design, incompatible with ksh. Compound variables, namespaces and static scoping are higher on my wishlist anyway. Oliver