Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Weird exit caused in a trap DEBUG which sources a file.
- X-seq: zsh-workers 25360
- From: "Rocky Bernstein" <rocky.bernstein@xxxxxxxxx>
- To: zsh-workers@xxxxxxxxxx
- Subject: Weird exit caused in a trap DEBUG which sources a file.
- Date: Wed, 30 Jul 2008 22:38:23 -0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type:content-transfer-encoding :content-disposition; bh=nCWf9y1e+eOr0G0uOeCGXNsXqbku921Jal6GzsWuHAg=; b=uZ2DP8aVEWnbyZ1RbjPRLPTsjbuA5aXfaAdn8g6WdqTHj+t/4ZcBBroWwQaBs0zBI+ wK3X5lvGYvfoLFonCN8Dni7oXbM7BIs/I9fvg+YUAxMi23NRmVIykMmZTElCoFb3AmmT uGw7EA0g3klmeUmNO31Zvq5BDjazc23xMY/A0=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type :content-transfer-encoding:content-disposition; b=lCPsIpXCUL7swLZmTPpxMP2PMGhf5vrv35aoXM+M7N8bWIucai3E7z0vk/WdQf3qTS Jj9y/GUG4KpS8wW1nkkJnLtL3DUqhki2JA/Jgu0e+jVkeu3lmIuc4sCumcfRK5CC4OR6 8cXyyqrOcEHJbhFiQqgVscvyIU5gaxruXct+k=
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
Below is a small program whittled down from a larger one. It has
behavior I can't figure out.
It seems to show that when a function is called via trap DEBUG and you
then source a file and it has a statement in it, on return from the
TRAP an exit will be taken. Here is the program:
#!/usr/bin/zsh
function debug_trap_handler {
print $functrace[1]
do_bug
}
function do_bug {
. ./bug-file
}
trap 'echo EXIT hit' EXIT
trap 'debug_trap_handler' DEBUG
a=1
b=2
d=3
In "bug-file" put any command. ":" will do. Or a print statement.
Let's say it contains the line:
print bug file here
When I run the above I get:
$ ./zshtrace.sh
./zshtrace.sh:12
bug file here
EXIT hit
Now if the file contains only comments or blank lines or is empty,
here is what I get:
$ ./zshtrace.sh
./zshtrace.sh:12
./zshtrace.sh:13
./zshtrace.sh:14
./zshtrace.sh:15
EXIT hit
which is what I would expect.
Anyone care to venture a guess as to what's going on? It feels like a
bug to me, if for no other reason than some message about why the exit
was raised is missing.
Thanks.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author