* Herbert Xu said: > Marek Habersack <grendel@vip.net.pl> wrote: > > > > That's about a *script*, we're talking about the *shell* which is supposed > > to provide every capability in the standard. This means the echo command > > Sorry, I don't follow. Who says that we must implement every *optional* > capability in the standard? Many of them in incompatible. No if the options come from a single standard. There are mandatory features and optional ones in every standard. I think that implementing all of them is a good thing. The only thing left is how to let the, in our case, script writer know that this or that feature is actually supported. An environment variable to that effect would do. > > Still, what I said above applies here. Supporting the params in the shell's > > builtin is NOT breaking the standard or making the shell non-portable. Shell > > itself doesn't use the builtin, the scripts do. And scripts are written by > > people who make decisions whether their script is to be portable or not. > > You're right. ash's old behaviour was probably POSIX.2 compliant. But our > policy currently says that #!/bin/sh scripts need to work with *all* POSIX.2 > compliant shells. This is not possible as it currently stands. So after > potato is released, we should either change the policy or start fixing those > scripts (unlikely due to the number involved here as well as traditional > practice on Linux). Either way, the statement that they need to work with all shells, doesn't prevent one from supporting off the standard features *if* they don't break the standard, right? After all, we are talking about features that are used by thousands of programmers worldwide making them a de-facto standard that, in fact, doesn't contradict POSIX. marek
Attachment:
pgpgp3vl8Edol.pgp
Description: PGP signature