zsh-users
 help / color / mirror / code / Atom feed
From: Peter Stephenson <p.w.stephenson@ntlworld.com>
To: Zsh Users <zsh-users@zsh.org>
Subject: Re: Bug with continue?
Date: Tue, 28 Mar 2023 12:28:06 +0100 (BST)	[thread overview]
Message-ID: <805138511.3622784.1680002886460@mail.virginmedia.com> (raw)
In-Reply-To: <16795430.3614208.1679998628194@mail.virginmedia.com>

> On 28/03/2023 11:17 Peter Stephenson <p.w.stephenson@ntlworld.com> wrote:
> > On 28/03/2023 10:32 Felipe Contreras <felipe.contreras@gmail.com> 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.)

The bug I'm thinking of is zsh-workers/51125, though it looks like I
committed the fix under zsh-workers/51134.  That was about wheter
"! return" should invert the status of the return given it's already
returned by the time that would happen.  This is similar, but looks
like it's not the same.

This one is a little weird as if the immediately next statement is a
print it doesn't get executed.  I'm suspecting some subtlety with handling
retflag.

pws


      reply	other threads:[~2023-03-28 11:28 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-28  9:32 Felipe Contreras
2023-03-28 10:17 ` Peter Stephenson
2023-03-28 11:28   ` Peter Stephenson [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=805138511.3622784.1680002886460@mail.virginmedia.com \
    --to=p.w.stephenson@ntlworld.com \
    --cc=zsh-users@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).