Denys, I'd like to start by assuring you that I have a great amount of respect for the work you put in to a highly important piece of software, and would like to thank you for your positive responses in helping to improve its portability.
On 11 July 2011 01:50, Denys Vlasenko <[email protected]> wrote: > On Sunday 10 July 2011 21:02, Chris Rees wrote: >> Of course it's up to the Busybox project to set your own policy -- my >> problem with adding non-standard features to shells is that people >> rely on them and write incompatible scripts when *all that is needed* >> is to just use the correct language in the first place. > > Bash was used in Linux from the very beginning, which makes it a de-facto > standard. It doesn't matter whether you or me like it or not, we must > account for the fact that long-time Linux users are used to it. > Forcing them to stop using all bashisms is both counter-productive > and arrogant. I find it unfair for you to call me arrogant when you are asserting that everyone else should bow to Linux pressure and allow nonstandard 'extensions'. What about the large numbers of people who struggle with breakage because of the 'arrogant' people who write bash scripts and put it into autoconf scripts? Or, worse assume that [ "$1" == "$2" ] is valid [1]? Or using find with no directory arguments? >> I don't think it's too much of a straw man to compare this with >> expecting C to support foreach, or expecting the 'dir' command to work >> (like RH7 did...). > > The difference is that C never supported foreach. Shell in Linux did support > brace expansion. More important example: Shell in Linux always had echo > builtin > not interpreting backslash escapes, and acception -n and -e options. > > The approach dash took when they broke echo builtin compatibility (!) > in several ways at once (!!) angered a lot of people. > Do dash developers really think that they did more for Linux than bash, > and thus have a moral right to cause breakage to millions of users? The breakage is the fault of people writing scripts that assume that /bin/sh is bash -- who in turn are being encouraged by distributions that link them. Also, the dash developers take a lot of the credit for speeding up boot of Debian-based systems; stripping out the extensions makes startup of a scripting shell much quicker. >> However, I can see that this avenue of reason is not going to change >> any minds, so I'm going to apologise for jumping on Eric like that and >> advising against the patch -- it wasn't really my place to say that >> and I accept that. >> >> Can I make a final plea, if this is implemented as an option, can it >> please be disabled by default? This should make people more aware that >> it's a nonstandard function -- bash may be the standard shell on GNU >> systems, but it's not in most other OSes. > > If other systems think Linux is irrelevant, Linux crowd can easily take > the same stance and declare all other (unix) systems irrelevant. > I leave it up to you to guess who is going to win such battle. I have not once said that Linux is irrelevant, I am just saying that there is no need to (partly!) reimplement bash when there's a much easier and more practical way to do it. Chris [1] On FreeBSD at least, this has been 'fixed'. _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
