zsh-users
 help / color / mirror / code / Atom feed
From: Peter Stephenson <pws@csr.com>
To: zsh-users@sunsite.auc.dk (Zsh users list)
Subject: Re: Trap and exit
Date: Fri, 27 Oct 2000 14:19:34 +0100	[thread overview]
Message-ID: <0G330024BBOLZ9@la-la.cambridgesiliconradio.com> (raw)
In-Reply-To: "Your message of Fri, 27 Oct 2000 15:37:48 +0400." <000001c0400a$54f99fb0$21c9ca95@mow.siemens.ru>

> It looks like a bug in Zsh.
> 
> =============
> The environment in which the shell executes a trap on EXIT will be identical
> to the environment immediately after the last command executed before the tra
> p
> on EXIT was taken.
>
> The exit status will be n, if specified. Otherwise, the value will be the exi
> t
> value of the last command executed, or zero if no command was executed. When
> exit is executed in a trap action, the last command is considered to be the
> command that executed immediately preceding the trap action.

>From this it looks like the status of the trap is the exit value of the
exit command --- not of the function.  I'm not sure that's even defined.
If the exit, unlike the function, completed successfully, you could argue
that the status should be 0.  However, that's not what we're doing.

% cat foo
trap 'echo trap: $?' 0
false
exit 59
% zsh ./foo
trap: 1

But then, you could argue that the false was the last command before the
script exited, and is hence the one referred to in this case --- given that
this is exactly what happens with an implicit exit by falling off the end.

To summarise: bleah.

I'm getting the same result as zsh with sh on SunOS 5.6 and the bundled ksh
M-11/16/88i, by the way (except false returns 255).

-- 
Peter Stephenson <pws@csr.com>                  Software Engineer
Cambridge Silicon Radio, Unit 300, Science Park, Milton Road,
Cambridge, CB4 0XL, UK                          Tel: +44 (0)1223 392070


  parent reply	other threads:[~2000-10-27 13:22 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-10-27 10:44 Akim Demaille
2000-10-27 11:37 ` Andrej Borsenkow
2000-10-27 11:49   ` Andrej Borsenkow
2000-10-27 12:47     ` Akim Demaille
2000-10-27 13:05       ` Andrej Borsenkow
2000-10-27 12:46   ` Akim Demaille
2000-10-27 13:06     ` Andrej Borsenkow
2000-10-27 13:19   ` Peter Stephenson [this message]
2000-10-27 13:28     ` Akim Demaille
2000-10-27 13:39     ` Andrej Borsenkow
2000-10-27 15:26       ` Bart Schaefer

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=0G330024BBOLZ9@la-la.cambridgesiliconradio.com \
    --to=pws@csr.com \
    --cc=zsh-users@sunsite.auc.dk \
    /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).