From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4095 invoked from network); 28 Sep 1998 16:43:44 -0000 Received: from math.gatech.edu (list@130.207.146.50) by ns1.primenet.com.au with SMTP; 28 Sep 1998 16:43:44 -0000 Received: (from list@localhost) by math.gatech.edu (8.9.1/8.9.1) id MAA08104; Mon, 28 Sep 1998 12:32:30 -0400 (EDT) Resent-Date: Mon, 28 Sep 1998 12:32:30 -0400 (EDT) From: "Bart Schaefer" Message-Id: <980928093434.ZM2061@candle.brasslantern.com> Date: Mon, 28 Sep 1998 09:34:34 -0700 In-Reply-To: <9809281401.AA32041@ibmth.df.unipi.it> Comments: In reply to Peter Stephenson "Re: Manpage improvement" (Sep 28, 4:00pm) References: <9809281401.AA32041@ibmth.df.unipi.it> X-Mailer: Z-Mail (4.0b.820 20aug96) To: zsh-workers@math.gatech.edu Subject: Re: Manpage improvement MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Resent-Message-ID: <"SbVgR3.0.W-1.Tex3s"@math> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/4402 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu On Sep 28, 4:00pm, Peter Stephenson wrote: } Subject: Re: Manpage improvement } } > x11amp "${(@f)$(locate Argentina|grep .mp3)}" } > } > I hope this might qualify as an example to spice up future zsh } > manpages. } } Here's a change to the manual source which should make this sort of } thing a little clearer. The first hunk of Peter's patch fails if you've applied my collection of man page patches, posted a couple of months ago over the course of several weeks. Here's a patch that will apply on top of my previous patches. I've taken the liberty of changing prints the variables tt($foo) after deleting both the head and tail from the value. to substitues the value of tt($foo) with both tt(head) and tt(tail) deleted. My previous patch had already added a subsection "Parameter Expansion Flags" where Peter's added "Flags". If you tried to apply Peter's patch and got one failed hunk and one succeeded hunk, you can delete the second hunk from the patch below and apply only the first hunk. Index: Doc/Zsh/expn.yo =================================================================== --- expn.yo 1998/08/27 15:56:33 1.6 +++ expn.yo 1998/09/28 16:32:22 @@ -450,7 +450,11 @@ If a tt(${)...tt(}) type parameter expression or a tt($LPAR())...tt(RPAR()) type command substitution is used in place of var(name) above, it is substituted first and the result is used as if -it were the value of var(name). +it were the value of var(name). Thus it is +possible to perform nested operations: tt(${${foo#head}%tail}) +substitues the value of tt($foo) with both tt(head) and tt(tail) +deleted. The form with tt($LPAR())...tt(RPAR()) is often useful in +combination with the flags described next; see the example below. subsect(Parameter Expansion Flags) cindex(parameter expansion flags) @@ -567,6 +571,17 @@ Include the length of the match in the result. ) enditem() +subsect(Example) +The flag tt(f) is useful to split a double-quoted substitution line by +line. For example, + +nofill(var(cmd) tt("${)tt(LPAR()f)tt(RPAR()$)tt(LPAR()<)var(file)tt(RPAR()}")) + +will substitue the contents of var(file) divided so that one line is +supplied per argument to var(cmd). Compare this with the effect of +tt($)tt(LPAR()<)var(file)tt(RPAR()) alone, which divides the file +up by words, or the same inside double quotes, where the entire +contents of the file are passed as a single argument. texinode(Command Substitution)(Arithmetic Expansion)(Parameter Expansion)(Expansion) sect(Command Substitution) cindex(command substitution) -- Bart Schaefer Brass Lantern Enterprises http://www.well.com/user/barts http://www.brasslantern.com