Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Bug with continue?



> On 28/03/2023 10:32 Felipe Contreras <felipe.contreras@xxxxxxxxx> wrote:
> I notice this works differently in zsh than in other shells:
> 
>   for x in 1 2 3 4; do
>     continue &&
>     list="$list$x " &&
>     echo "x: $x"
>   done
>   echo "list: $list"
> 
> Why did the statement after `continue` gets evaluated?
> 
> The original code tries to do something useful `case "$x" in 1)
> continue ;; esac &&` but it shouldn't matter.
> 
> I tried in bash, ksh, and dash, and all of them continue immediately,
> except zsh.
> 
> That can't be the desired behavior, can it?

That looks like it probably ought to be regarded as a bug to me, yes ---
I guess it's been hidden because the test "if this statement successfully
jumped somewhere completely different then..." isn't spectacularly useful.
However, it's not logically wrong, either.

I think we had something a little similar to this recently; it usually
boils down to something quite simple once you've found it and I'll
have a look when I've got more time.  (Patch would go to zsh-workers.)

pws




Messages sorted by: Reverse Date, Date, Thread, Author