From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28130 invoked by alias); 12 Feb 2015 04:00:23 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 34513 Received: (qmail 2574 invoked from network); 12 Feb 2015 04:00:20 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 X-CMAE-Score: 0 X-CMAE-Analysis: v=2.1 cv=AptZB15K c=1 sm=1 tr=0 a=FT8er97JFeGWzr5TCOCO5w==:117 a=kj9zAlcOel0A:10 a=q2GGsy2AAAAA:8 a=oR5dmqMzAAAA:8 a=-9mUelKeXuEA:10 a=0HtSIViG9nkA:10 a=yQJqS3RZly_LWWqvIg4A:9 a=IbbIw-9Qniyi_fmp:21 a=zJxvHDuHhPHk6TIf:21 a=CjuIK1q_8ugA:10 From: Bart Schaefer Message-id: <150211200007.ZM18484@torch.brasslantern.com> Date: Wed, 11 Feb 2015 20:00:07 -0800 In-reply-to: <20150212015249.GF1845@tarsus.local2> Comments: In reply to Daniel Shahaf "(anon):disown: no current job" (Feb 12, 1:52am) References: <20150212015249.GF1845@tarsus.local2> X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: zsh-workers@zsh.org Subject: Re: (anon):disown: no current job MIME-version: 1.0 Content-type: text/plain; charset=us-ascii On Feb 12, 1:52am, Daniel Shahaf wrote: } } $ zsh -f } % cat } ^Z } zsh: suspended cat } % () { bg && disown } } [1] - continued cat } (anon):disown: no current job I can reproduce this, with one extra bit: zsh: suspended cat torch% () { bg && disown } [1] - continued cat (anon):disown: no current job torch% [1] + suspended (tty input) cat } It happens with da86d6b4f2c3eef5b1f0860c9dae433f3a540951 (workers/34485) } but not with the commit before that one. } } Haven't looked into cause/fix. Looks like it's related to this (diff here reverts a change): diff --git a/Src/parse.c b/Src/parse.c index ffd25de..236789d 100644 --- a/Src/parse.c +++ b/Src/parse.c @@ -1612,7 +1612,8 @@ par_funcdef(int *cmplx) num++; zshlex(); } - *cmplx = 1; + if (num > 0) + *cmplx = 1; ecbuf[parg] = ecused - parg; /*?*/ ecbuf[parg+1] = num; } zsh: suspended cat torch% () { bg && disown } [1] - continued cat [1] + suspended (tty input) cat (anon):disown: warning: job is suspended, use `kill -CONT -18480' to resume torch% There's a similar change in par_simple() that may also need to be reversed. I'm not sure about the exec.c change that moved the "if (do_exec)" block, but I'm wondering whether it has to do with Ray's mysterious shell exits, because it makes an _exit() call.