From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19033 invoked by alias); 24 Dec 2012 11:03:22 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 17495 Received: (qmail 24914 invoked from network); 24 Dec 2012 11:03:10 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.2 Received-SPF: none (ns1.primenet.com.au: domain at linux.vnet.ibm.com does not designate permitted sender hosts) Date: Mon, 24 Dec 2012 18:52:41 +0800 From: Han Pingtian To: zsh-user Subject: priority problem of ":|" and ":*" Message-ID: <20121224105241.GA24051@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-Content-Scanned: Fidelis XPS MAILER x-cbid: 12122410-2398-0000-0000-00000F5E2871 hi, I believe the new ":|" and ":*" should be in Rule 7 Modifiers of paramter expansion, so this looks like a problem in priority: % a1=(a b c);a2=('a b c');print "${a1:|a2}" % a1=(a b c);a2=('a b c');print "${#a1:|a2}" 3 in this, the priority should be "5 Double-quoted joining" first, then "7 modifiers", then "9 length". So 'print "${#a1:|a2}"' should output 0 I think. And the ":*" has the same problem.