zsh-users
 help / color / mirror / code / Atom feed
From: Bart Schaefer <schaefer@brasslantern.com>
To: zsh-users mailing list <zsh-users@sunsite.dk>
Subject: Re: Real KSH93 is finally free software!
Date: Tue, 12 Apr 2005 15:17:12 +0000	[thread overview]
Message-ID: <1050412151712.ZM28145@candle.brasslantern.com> (raw)
In-Reply-To: <29001.1113309527@csr.com>

On Apr 12,  1:38pm, Peter Stephenson wrote:
}
} Juhapekka Tolvanen wrote:
} > Bart Schaefer <schaefer@brasslantern.com> writes:
} > 
} > > Sure; almost anything using namerefs or discipline functions.
} > 
} > Are them difficult or impossible to implement? If not, when they are
} > added to zsh?
} 
} I don't think they're particularly tricky

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}.

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
names and it's difficult to do so because the same identifier parser is
used both inside and outside the braces; that is, if you make the most
obvious change to enable ${foo.bar} then $foo.bar also parses as a single
variable name rather than as ${foo}.bar, which will break large numbers
of scripts.

So the changes to implement both of these things go fairly deep into the
most critical parts of the shell.


  parent reply	other threads:[~2005-04-12 15:17 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-12  5:12 Juhapekka Tolvanen
2005-04-12  5:34 ` Bart Schaefer
2005-04-12 12:11   ` Juhapekka Tolvanen
     [not found]     ` <juhtolv@cc.jyu.fi>
2005-04-12 12:38       ` Peter Stephenson
2005-04-12 13:22         ` Nikolai Weibull
2005-04-12 15:17         ` Bart Schaefer [this message]
2005-04-12 16:20           ` Oliver Kiddle
2005-04-12 17:01             ` Bart Schaefer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1050412151712.ZM28145@candle.brasslantern.com \
    --to=schaefer@brasslantern.com \
    --cc=zsh-users@sunsite.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).