It's all a matter of scope. When you use the TRACE keyword instruction, the
scope of that instruction is that executable block of code. If you invoked
a method or a routine, this is an external call and the current trace
settings are not inherited. Nothing will get traced in those cases because
the trace setting in the new block of code reverts to the default of TRACE
Normal. When ::options trace was introduced this gave a global setting for
the package that defined what the trace setting should be on entry to a new
block of code. This made life easier because you didn't have to update each
code unit to turn things on. However, it got somewhat confusing because the
context would jump around a lot. To address this, an additional trace line
was introduced to show what code block was being entered. This would appear
with trace all, results, or intermediates. The last enhancement was to also
do this for trace labels, which gave a nice flow of control trace for the
package.

Rick

On Sun, Feb 6, 2022 at 12:17 PM Gilbert Barmwater <gi...@bellsouth.net>
wrote:

> Before I open a documentation bug on this, I have a question.  Is there
> a reason the enhancement to TRACE L was only done for ::OPTIONS TRACE
> and not for the TRACE keyword?  I think it is obvious that having this
> available for both would be extremely beneficial.  Thanks!
>
> On 2/5/2022 9:22 AM, Gilbert Barmwater wrote:
> > OK, that explains it, thanks.  Should I open a documentation bug?
> >
> > On 2/5/2022 4:09 AM, Erich Steinböck wrote:
> >> Hi Gil,
> >> rexxref could be clearer here.
> >>
> >> When specified with the TRACE keyword instruction, trace option L
> >> traces internal labels only.
> >> When specified with the ::OPTIONS directive, as a recent enhancement,
> >> trace option L also traces routine and method calls.
> >> So you need to specify ::OPTIONS TRACE L
> >>
> >>
> >>
> >> _______________________________________________
> >> Oorexx-devel mailing list
> >> Oorexx-devel@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
> >
> >
> > _______________________________________________
> > Oorexx-devel mailing list
> > Oorexx-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>
>
> _______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to