On Thu, Sep 11, 2008 at 10:54 AM, Peter Stephenson
<pws@xxxxxxx> wrote:
On Thu, 11 Sep 2008 07:35:31 -0700
> } I can't see why we shouldn't keep the debug-related traps, ZERR and
> } DEBUG, alive in subshells.
>
> I can't think of any reason either, unless maybe there are cases where
> it could result in the trap being executed in both the subshell and
> the parent.
Shouldn't normally happen, but I suppose we'll just have to see. I've
committed the patch.
That's to say, "(echo foo)" causes a DEBUG trap for the (...) itself, and
then a DEBUG trap for any contents inside the subshell according to the
normal rules for a list of commands, but I think that's exactly what we
want (it's the same as for {...}).
Seems to do exactly the right thing. Thanks!
I note that $ZSH_DEBUG_CMD has strange (overlarge) indentation for the
elements of (...) after the opening parenthesis. I think that needs
revisiting. I don't quite understand why the default indentation is 1
instead of 0; obviously that's right for outputting the bodies of
functions, but the code has many other uses.
--
Peter Stephenson <
pws@xxxxxxx> Software Engineer
CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
Cambridge, CB4 0WZ, UK Tel: +44 (0)1223 692070