From: Harald van Dijk <harald@gigawatt.nl>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Eric Blake <eblake@redhat.com>, olof@ethup.se, dash@vger.kernel.org
Subject: Re: Parameter expansion, patterns and fnmatch
Date: Sat, 3 Sep 2016 15:19:57 +0200 [thread overview]
Message-ID: <1acf6563-5a42-2bfa-ac7a-fbdd2c315b85@gigawatt.nl> (raw)
In-Reply-To: <20160903130506.GA19749@gondor.apana.org.au>
On 03/09/16 15:05, Herbert Xu wrote:
> On Sat, Sep 03, 2016 at 02:03:28PM +0200, Harald van Dijk wrote:
>>>>>>
>>>>>>>> This also affects
>>>>>>>>
>>>>>>>> case [a in [?) echo ok ;; *) echo bad ;; esac
>>
>> We're talking about something that dash has had code to handle for
>>> 10 years, that's been documented by dash as supported for >10
>> years, and now that it turns out there's a flaw in the code where
>> dash does not behave as documented and as clearly intended by the
>> code, it's POSIX's fault?
>
> dash has never worked this way.
Very misleading to continue quoting the complicated case but leave out
the simple case again: dash doesn't handle even ${foo#[} correctly. And
again, by correctly I mean as documented by dash, as required by POSIX,
and as clearly intended by the author at the time the code was written.
I do not know if you were the author of that specific piece of code.
But yeah, sure, if the bug has been there for over 10 years, and I'm
unable to find older versions of dash to check, I would have guessed
that dash indeed has never worked this way.
> What's worse is that your patch
> changes dash's behaviour in a way that is inconsistent with every
> shell out there except bash.
For the simple case, ksh and posh also strip a leading [ if doing ${foo#[}.
For the complicated case, at the very least, it makes dash consistent
between builds. If you feel that for the complicated case, bad should be
printed rather than ok, then that just makes dash buggy in the
--enable-fnmatch builds, it still means there's something to fix.
next prev parent reply other threads:[~2016-09-03 13:20 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-09 9:28 Parameter expansion, patterns and fnmatch Olof Johansson
2016-08-09 21:39 ` Harald van Dijk
2016-08-17 14:50 ` Olof Johansson
2016-09-02 14:04 ` Herbert Xu
2016-09-02 14:25 ` Eric Blake
2016-09-02 14:29 ` Herbert Xu
2016-09-02 14:49 ` Eric Blake
2016-09-02 14:51 ` Herbert Xu
2016-09-03 12:03 ` Harald van Dijk
2016-09-03 13:05 ` Herbert Xu
2016-09-03 13:19 ` Harald van Dijk [this message]
2016-09-03 13:58 ` Herbert Xu
2016-09-03 15:16 ` Harald van Dijk
2016-09-02 14:46 ` Herbert Xu
2016-09-02 14:54 ` Eric Blake
2016-09-02 15:06 ` Chet Ramey
2016-09-02 14:48 ` Eric Blake
2016-09-02 15:12 ` Jilles Tjoelker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1acf6563-5a42-2bfa-ac7a-fbdd2c315b85@gigawatt.nl \
--to=harald@gigawatt.nl \
--cc=dash@vger.kernel.org \
--cc=eblake@redhat.com \
--cc=herbert@gondor.apana.org.au \
--cc=olof@ethup.se \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).