Zsh Mailing List Archive
Messages sorted by:
Re: [PATCH] Document imperfections in POSIX/sh compatibility
- X-seq: zsh-workers 48543
- From: Oliver Kiddle <opk@xxxxxxx>
- To: Zsh hackers list <zsh-workers@xxxxxxx>
- Subject: Re: [PATCH] Document imperfections in POSIX/sh compatibility
- Date: Tue, 13 Apr 2021 22:28:41 +0200
- Archived-at: <https://zsh.org/workers/48543>
- In-reply-to: <20210413160149.GT6819@tarpaulin.shahaf.local2>
- List-id: <zsh-workers.zsh.org>
- References: <7FD930F4-37CD-402B-9A06firstname.lastname@example.org> <20210413160149.GT6819@tarpaulin.shahaf.local2>
Daniel Shahaf wrote:
> dana wrote on Sat, Apr 10, 2021 at 18:31:31 -0500:
> > +Please note that zsh's emulation of other shells, as well as the degree
> > +of its POSIX compliance, is provided on a `best effort' basis. Full
> > +compatibility is not guaranteed, and is not necessarily a goal of the
> > +project.
> I'm concerned that saying "is not necessarily a goal of the project"
> might discourage people from even reporting bugs in the first place.
Or of contributing fixes. In the past we've been open to POSIX related
The entire project is done on a `best effort' basis with no guarantees.
> No objection to setting expectations, of course, but could we phrase it
> differently? E.g., by documenting a list of known incompatibilities
> that won't be fixed?
It might be sensible to have a file separate from Etc/BUGS for listing
issues related to POSIX compliance. I don't imagine there is anything that
"won't be fixed" in the sense that it has been outright rejected as
opposed to nobody has come forward with an implementation.
Mostly when I've come across people complaining about zsh's lack of
compliance, they either aren't using emulation at all or are expecting
bash scripts to work unchanged. And they're too lazy to understand the
issues. It doesn't help when even something like the Intel C compiler
comes with idiotic advice to use bash -c 'source ...;exec zsh' despite
the necessary fix being no more than a one-line tweak.
In the repository is the file Etc/STD-TODO that documents some
incompatibilities, mainly against ksh93. In that context, "standard" is
not used to mean a formal standard such as POSIX but rather features
common to several shells. That file is excluded from a release
Messages sorted by: