[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Continue behavior in devel branch
From: |
Chet Ramey |
Subject: |
Re: Continue behavior in devel branch |
Date: |
Sat, 10 Oct 2015 12:51:39 -0400 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 10/10/15 9:36 AM, Carlos Pita wrote:
> Hi Chet,
>
> consider the following program:
>
> yyy() {
> continue
> }
>
> xxx() {
> while true; do
> echo x
> yyy
> echo y
> break
> done
> }
>
> xxx
>
> In the bash devel branch it will ignore the continue and echo
>
> x
> y
The change was made intentionally. Historical versions of sh ignore (or
more precisely reset) the loop state when entering a shell function, so
the continue doesn't have any effect. Posix doesn't say anything specific
about it, but it doesn't call out a change from the historical behavior,
so it came up reported as a bug.
The discussion about the change took place on the dash mailing list,
but the gmane.org archives are down right now so I can't give you a URL.
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU chet@case.edu http://cnswww.cns.cwru.edu/~chet/