Subject: Re: [PATCH] 'functions -T' tracing: recurse into anonymous functions.
From: Bart Schaefer <[email-masked]>
To: [email-masked]
Date: Fri, 10 Jun 2016 21:06:32 -0700
List-Id: Zsh Workers List <zsh-workers.zsh.org>

On Jun 10,  5:37pm, Daniel Shahaf wrote:
}
}  for this function; the flag tt(-T) does the same, but turns off tracing
}  on any function called from the present one, unless that function also
} -has the tt(-t) or tt(-T) flag.  The tt(-u) and tt(-U) flags cause the
} +has the tt(-t) or tt(-T) flag or is anonymous.  The tt(-u) and tt(-U) flags cause the

That phrasing is a little hard to follow.  Perhaps something more like:

... turns off tracing
for any named (not anonymous) function called from the present one, unless
that function also ...

Note I'm also suggesting changing "turns off tracing on" into "turns off
tracing for" to reduce the chances of off/on confusion.  (Further, don't
be afraid to reformat paragraphs if lines get long.)

I've been considering something similar for the zsh/param/private module
to make caller private variables visible inside anonymous functions, but
haven't worked out all the necessary stack management.