On Mon, Jan 29, 2018 at 6:43 AM, Mike Frysinger <vap...@gentoo.org> wrote:
> On 28 Jan 2018 19:17, Denys Vlasenko wrote:
>> On Fri, Jan 26, 2018 at 7:50 PM, Mike Frysinger wrote:
>> > On 26 Jan 2018 15:15, Denys Vlasenko wrote:
>> >> On Fri, Jan 26, 2018 at 9:34 AM, Paul Otto wrote:
>> >> > This patch restores, and improves upon, expected behavior to BASH
>> >> > compatibility which was lost beginning with 1.27.0. This was pulled into
>> >> > Alpine 3.7 which, in turn was pulled into official Docker images 
>> >> > beginning
>> >> > with docker:17.12. As a result, a large number of CICD builds that use
>> >> > "source filename" have broken everywhere.
>> >> >
>> >> > According to the BASH documentation, the source command should:
>> >> > Read and execute commands from filename  in  the  current  shell 
>> >> > environment
>> >> > and return the exit status of the last command executed from filename.  
>> >> > If
>> >> > filename does not contain a slash, filenames  in  PATH  are used to 
>> >> > find the
>> >> > directory containing filename.  The file searched for in PATH  need  
>> >> > not  be
>> >> > executable. When  bash  is  not  in  posix  mode,  the  current 
>> >> > directory is
>> >> > searched if no file is found in PATH.
>> >>
>> >> I wish bash wouldn't introduce gratuitous standard violations.
>> >
>> > bash is its own shell.  why can't it introduce its own extensions as it 
>> > sees
>> > fit ?
>>
>> Because a divergence is not a good thing, especially if it's gratuitous
>
> this position makes no sense.  are you saying that no shell should be allowed
> to extend the syntax however it wants ?  every shell out there should only be
> allowed to implement POSIX and nothing else ?

The extensions which add some significantly useful functionality are ok.
Example: arrays.

Changes which don't really add such functionality do more harm than good.
Example: "function" keyword in bash made it possible to do this:

f() { echo "Good"; }
function g { echo "Your script is now not posix compatible,
congratu-effing-lations"; }
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to