From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20297 invoked by alias); 21 Apr 2017 20:32:53 -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: 40996 Received: (qmail 20249 invoked from network); 21 Apr 2017 20:32:52 -0000 X-Qmail-Scanner-Diagnostics: from wirrsal.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(188.68.36.149):SA:0(0.0/5.0):. Processed in 1.052623 secs); 21 Apr 2017 20:32:52 -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=0.0 required=5.0 tests=RP_MATCHES_RCVD,SPF_PASS, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: seb@wirrsal.net X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at wirrsal.net designates 188.68.36.149 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wirrsal.net; s=wirrsal; t=1492806768; bh=qJ5kQ+GkPOvmAZvbgYdY6IwOLe28KC/J9RVsGK0lHNE=; h=From:To:Subject:Date; b=ixfVwJH/WBbxotCbcdejnhH74l+FVx4FSJj5Dt39XfCIkN+5IMMkXQZc2J/nCPUY3 f7d57z1kZkeD5Qxu20qJd9x/ip+OOW9hpLrQDh5Kc+DM2SLHdLrZxS3yC8v+OiKt5B E0V5B5RCJiUD4kzMQgcGLKoyXPBIH19ll24ejXhQ= User-agent: mu4e 0.9.19; emacs 25.1.1 From: Sebastian =?utf-8?Q?Reu=C3=9Fe?= To: zsh-workers@zsh.org Subject: Call stack issues when running trap handler Date: Fri, 21 Apr 2017 22:32:46 +0200 Message-ID: <87efwlijrl.fsf@wirrsal.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit I’ve noticed that under certain conditions, shell functions called from inside an exit trap handler appear to never return. E.g., running the following code will only yield «a» as output, indicating that callee «echoa» never returns control to the caller «handler». #+begin_src shell trap handler EXIT handler() { echoa echo b } echoa() { echo a } exit0() { exit } main() { exit0 } main #+end_src When directly calling «exit0» or «exit» instead of «main», this issue does not arise. I was able to reproduce this both in Zsh 5.3.1 as well as today’s HEAD. Kind regards, SR