From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23210 invoked from network); 2 Mar 1999 17:30:12 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 2 Mar 1999 17:30:12 -0000 Received: (qmail 18317 invoked by alias); 2 Mar 1999 17:29:58 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 5610 Received: (qmail 18310 invoked from network); 2 Mar 1999 17:29:56 -0000 Sender: B.Stephens@isode.com To: ZSH workers mailing list Subject: Re: Reading completion manual References: <000201be64d0$ee20e160$21c9ca95@mowp.siemens.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii From: Bruce Stephens Date: 02 Mar 1999 17:29:25 +0000 In-Reply-To: "Andrej Borsenkow"'s message of "Tue, 2 Mar 1999 20:20:12 +0300" Message-ID: User-Agent: Gnus/5.070079 (Pterodactyl Gnus v0.79) XEmacs/20.4 (Emerald) "Andrej Borsenkow" writes: > > I thought namespaces had been discussed before? What's the objection > > to allowing "." in variable names, and regarding it as a component > > delimiter in function/command names? > > I spoke about functions not variables. Variables names are limited to > alphanumeric, so you can safely use ``.'' as delimiter. Function names can > be arbitrary (am I wrong?) I don't see that it matters (practically). "_" is a non-optimal choice, since people already use it too much, but some other prefix would be OK, and it could be "zle." or "compctl." or something (i.e., looking like namespaces). > Hmm, this isn't a good idea; I > > quite often use things like "cp $i $i.bak" and stuff. > > If I remember correctly, it should start with a dot. And of course, you can > use braces as usual > > cp ${.myvars.i} ${.myvars.i}.bak > > But you are right, it can break some scripts Ah, OK. That's less confusing than my notion of predeclaring namespaces. In that case, functions could do the same--- ".zle.path_files"---or whatever. That's not likely to conflict with ordinary usage. > > (So if you have a function foo.WRITE, then that gets called when you > > try to write to foo. Something like that, anyway. A better interface > > might be to copy the Perl tie ideas---allowing special associative > > arrays and things as Bart suggested; you wouldn't need name spaces for > > this, of course.) > > > > May be, simply add ZSH emulation module to Perl :-))) But yes, what > you've just described is my long cherished idea. Yes, it's a natural extension to zsh-with-associative-arrays. But it's orthogonal to variable namespaces.