From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6280 invoked by alias); 13 Sep 2012 13:16:57 -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: 17264 Received: (qmail 19667 invoked from network); 13 Sep 2012 13:16:55 -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: Thu, 13 Sep 2012 21:05:50 +0800 From: Han Pingtian To: zsh-users@zsh.org Subject: shwordsplit and ksharrays will change rcexpandparam's behavior on empty array Message-ID: <20120913130550.GA23186@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: 12091313-7606-0000-0000-0000039F1F17 Hello, I noticed that 'shwordsplit' will change the behavior of 'rcexpandparam' on empty array: % zsh -c 'xx=(); print foo${^xx}bar' % zsh -c 'setopt shwordsplit;xx=(); print foo${^xx}bar' foobar Not sure if this is a bug. And looks like 'ksharrays' can do this, too: % zsh -c 'setopt ksharrays;xx=(); print foo${^xx}bar' foobar Maybe ksharrays lets the $xx evluated as a scalar, a null string, so foo${^xx}bar is return as foobar? Thanks.