Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: PM_TAGGED and PM_TAGGED_LOCAL being set simultaneously (functions -T -t f)

Peter Stephenson wrote on Wed, Apr 14, 2021 at 16:22:56 +0100:
> > On 14 April 2021 at 16:03 Daniel Shahaf <d.s@xxxxxxxxxxxxxxxxxx> wrote:
> > As y'all recall, «functions -T» and «-t» set the XTRACE option for calls
> > to the named function.
> > 
> > With that in mind, in the following code:
> > 
> > [[[
> > f() g
> > g() :
> > functions -T f
> > functions -t f
> > f
> > ]]]
> > 
> > Should XTRACE be on or off when g is run?  Or should an error be raised
> > before g is called?
> > 
> > And if -t were set first and -T second?
> The way the documentation is written:
>   The flag -t turns on execution tracing for  this  function;
>   the  flag -T does the same, but turns off tracing for any named (not
>   anonymous) function called from the present one, unless  that  func‐
>   tion  also  has  the  -t  or -T flag.
> makes it sound as if turning off for called functions is more powerful behaviour,
> in which case -T should always be used if specified.  But it doesn't actually
> *say* that and could be rewritten anyway, so it's not much of a steer.  Having
> one flag cause another to be ignored is pretty standard behaviour and relatively
> straightforward to implement, though.

So, to be clear, you're proposing that setting either flag should unset
the other?  Sounds good to me; just making sure we're on the same page.

Messages sorted by: Reverse Date, Date, Thread, Author