Subject: Re: test is not posix
From: Martijn Dekker <[email-masked]>
To: Trek <[email-masked]>, [email-masked]
Date: Thu, 21 Jan 2016 00:46:47 +0100
List-Id: Zsh Workers List <zsh-workers.zsh.org>

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