From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12954 invoked by alias); 25 Sep 2010 06:53:59 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 28297 Received: (qmail 18146 invoked from network); 25 Sep 2010 06:53:56 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received-SPF: none (ns1.primenet.com.au: domain at closedmail.com does not designate permitted sender hosts) From: Bart Schaefer Message-id: <100924235332.ZM5186@torch.brasslantern.com> Date: Fri, 24 Sep 2010 23:53:32 -0700 In-reply-to: <20100924211247.626449fb@pws-pc> Comments: In reply to Peter Stephenson "Re: !!$ unitialized at first prompt" (Sep 24, 9:12pm) References: <20100924133936.245765b2@pwslap01u.europe.root.pri> <100924081042.ZM4496@torch.brasslantern.com> <20100924211247.626449fb@pws-pc> X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: Zsh Workers Subject: Re: !!$ unitialized at first prompt MIME-version: 1.0 Content-type: text/plain; charset=us-ascii On Sep 24, 9:12pm, Peter Stephenson wrote: } } The mechanism for word splitting in the manner of the (z) flag is a } bit iffy. I've picked up that newlines get turned into semicolons --- } there was a discussion about this recently --- and also that &! turns } into &|, which I didn't know about. Now that you mention it, I'll bet >! also turns into >| ... but it appears your test is generic enough to handle that. Another history oddity that this brings to mind is that "print -s" puts each of its arguments into the history as a separate word, but on reload those will be re-parsed and are likely to end up with new word boundaries. It's unlikely there's anything useful to be done about this, but now that we have the zshaddhistory hook and people are manipulating what gets stored by calling "print -s", it may be worth pointing out.