Subject: Re: PATCH: case pattern parsing
From: Oliver Kiddle <[email-masked]>
To: Zsh hackers list <[email-masked]>
Date: Tue, 21 Jun 2016 13:22:09 +0200
List-Id: Zsh Workers List <zsh-workers.zsh.org>

On 17 May 2015, Peter wrote:
> This patch parses case patterns properly, removing the hack that

I noticed a bug with case statements which git bisect tracks to this
change (workers/35168 or 52aeb9aa). It occurs with a fall-through at the
end of the case statement:

  case whatever in
    *) ;&
  esac

I'm not sure how reproducible it is - seems to be fine on Solaris.
#0  0x000000000042e8bd in execlist (state=0x7ffce20a9ac0, dont_change_job=1,
    exiting=0) at exec.c:1195
1195    code = *state->pc++;
#1  0x000000000046587e in execcase (state=0x7ffce20a9ac0, do_exec=0) at loop.c:669
#2  0x000000000042e7b3 in execsimple (state=0x7ffce20a9ac0) at exec.c:1141
#3  0x000000000042eb28 in execlist (state=0x7ffce20a9ac0, dont_change_job=0, 
    exiting=0) at exec.c:1265
#4  0x000000000042e41b in execode (p=0x7f377b419418, dont_change_job=0, exiting=0, 
    context=0x4bded7 "toplevel") at exec.c:1085
#5  0x000000000045201b in loop (toplevel=1, justonce=0) at init.c:208
#6  0x0000000000455bde in zsh_main (argc=1, argv=0x7ffce20a9e28) at init.c:1688
#7  0x000000000040f640 in main (argc=1, argv=0x7ffce20a9e28) at ./main.c:93

Oliver