From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7740 invoked by alias); 12 Feb 2018 20:39:05 -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: List-Unsubscribe: X-Seq: 42362 Received: (qmail 15777 invoked by uid 1010); 12 Feb 2018 20:39:05 -0000 X-Qmail-Scanner-Diagnostics: from know-smtprelay-omc-10.server.virginmedia.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(80.0.253.74):SA:0(-1.9/5.0):. Processed in 8.207682 secs); 12 Feb 2018 20:39:05 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) 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, SPF_PASS,T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.1 X-Envelope-From: p.w.stephenson@ntlworld.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | X-Originating-IP: [86.21.219.59] X-Authenticated-User: p.w.stephenson@ntlworld.com X-Spam: 0 X-Authority: v=2.3 cv=EqT8UxUA c=1 sm=1 tr=0 a=utowdAHh8RITBM/6U1BPxA==:117 a=utowdAHh8RITBM/6U1BPxA==:17 a=kj9zAlcOel0A:10 a=x7bEGLp0ZPQA:10 a=fBdLXoNIPoJ1d64WAqcA:9 a=CjuIK1q_8ugA:10 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ntlworld.com; s=meg.feb2017; t=1518467318; bh=8D+Tm3ujv6aW8S2pZ0CoyEhiPITWTxUqdLjRkYMgRUM=; h=Date:From:To:Subject:In-Reply-To:References; b=zug+3X70f3MzRKjrQK85tzNgT5ccE/KOn75u4ucRkaouPgf2+7rjaVVTuQow7MROM z92buCZhwN9FLgjP1pLHiH9mJmuCv4sxiYive7m+zf50EXAUvIpAyOJ4ictTtlbkcg SPpp8NzIABXOzt/HiEdTmrlC4mmfwzUvzDqN8DnOAhuVCzmI2cYkpG9YgyK3M7f2w+ epUTX4Tg7eRm6iUIa76n/g+nVCKPYty6pPqw0Og+922Qi+FQD0NS51AVOk2pfaLfX7 VG/SLg4dceqfH5I+MdXuNgieXVoXcD3atymEQOOZlLZycKwUqetnw3IkrYK3Q9RacN hIFAb99xJ9QQg== Date: Mon, 12 Feb 2018 20:28:37 +0000 From: Peter Stephenson To: Zsh Hackers' List Subject: Re: [BUG] REPORTTIME parsed as 0 with error in zle widget Message-ID: <20180212202837.73d3f355@ntlworld.com> In-Reply-To: <6de993f2-b9ab-19ba-fa2c-417377a4e6f8@thequod.de> References: <6de993f2-b9ab-19ba-fa2c-417377a4e6f8@thequod.de> X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.28; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfFMN950gdY5wdKp7QrQ10tRMIAkrNrn3WbJJQuu4TkTrdzZndwDC+O7GGCSu4fEBqHTWG125fT06X0H5ja2/VAHt7Pi0N7elHVhaSUbLt2T9vjX1b7+O v22kr7N7qvkCPWJsJqBrawJYQAUocPgp8IAIAHukNc0/XtZUTnB+MzAd9qGxX+eGagxjcR4CoJWFMQ== On Mon, 12 Feb 2018 10:05:08 +0100 Daniel Hahler wrote: > Given the following zle widget: > getintvalue in should_report_time returns 0, although getstrvalue(v) is "5"! > This is caused by errflag being set in matheval, which makes it return 0! > And this gets caused by "exit 130" in __fsel. This is probably too deep in jobs.c for anyone to have noticed it needed protection like a lot of other functions already have. pws diff --git a/Src/jobs.c b/Src/jobs.c index fc5bfac..503618f 100644 --- a/Src/jobs.c +++ b/Src/jobs.c @@ -925,6 +925,7 @@ should_report_time(Job j) struct value vbuf; Value v; char *s = "REPORTTIME"; + int save_errflag = errflag; zlong reporttime = -1; #ifdef HAVE_GETRUSAGE char *sm = "REPORTMEMORY"; @@ -936,12 +937,14 @@ should_report_time(Job j) return 1; queue_signals(); + errflag = 0; if ((v = getvalue(&vbuf, &s, 0))) reporttime = getintvalue(v); #ifdef HAVE_GETRUSAGE if ((v = getvalue(&vbuf, &sm, 0))) reportmemory = getintvalue(v); #endif + errflag = save_errflag; unqueue_signals(); if (reporttime < 0 #ifdef HAVE_GETRUSAGE