From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3055 invoked by alias); 20 Jan 2016 23:54:49 -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: 37713 Received: (qmail 4721 invoked from network); 20 Jan 2016 23:54:46 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.0 Message-ID: <56A01C67.1050509@inlv.org> Date: Thu, 21 Jan 2016 00:46:47 +0100 From: Martijn Dekker User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Trek , zsh-workers@zsh.org Subject: Re: test is not posix References: <20160120220614.18fe6683@enterprise> In-Reply-To: <20160120220614.18fe6683@enterprise> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Trek schreef op 20-01-16 om 22:06: > with zsh called as sh: > > $ zsh/sh -c 'test -n "!" && echo ok' > zsh:test:1: too many arguments I think this might be the same bug that I reported back in May with test -n '(' and test -n ')' http://www.zsh.org/mla/workers/2015/msg01225.html Peter Stephenson fixed it less than 45 minutes later: http://www.zsh.org/mla/workers/2015/msg01230.html I hadn't noticed it fails on a single exclamation point as well. It is in zsh 5.0.6 and 5.0.7. Got fixed in 5.0.8. A lot more POSIX bugs have been fixed since, so the latest version is recommended if you care about POSIX compliance. > I discovered this bug developing a small shell library, where you can > find an use case in the n_str_set function of the lib/str.sh file > included in http://www.trek.eu.org/devel/naive/naive-0.0.2.tar.gz As luck would have it, I'm developing a shell library too, including a whole battery of bug and feature tests for POSIX shells. We should exchange notes. I won't have time for the next few days, but I'll be in touch. Thanks, - Martijn