The TraceObject entries named "OBJECTLOCKCOUNT" and "HASOBJECTLOCK" are a little bit misleading as
actually the locks relate to a specific scope of an object.
Therefore it is probably better to name these two entries "SCOPELOCKCOUNT" and "HASSCOPELOCK" and
update the documentation accordingly, referring to the term "scope" in "4.2.2. Scope".
Therefore, instead of:
"HASOBJECTLOCK" .true/.false, makeString uses an asterisk, if .true, a
blank character else
"OBJECTLOCKCOUNT" a number, makeString prepends it with the letter L
it should read:
"HASSCOPELOCK" .true/.false, makeString uses an asterisk, if .true, a
blank character else
(cf. "4.2.2. Scope")
"SCOPELOCKCOUNT" a number, makeString prepends it with the letter L (cf.
"4.2.2. Scope")
---rony
On 07.02.2024 16:08, Rony G. Flatscher wrote:
<https://sourceforge.net/p/oorexx/feature-requests/825/> was updated:
Taking into account the discussions on the developer list of the last
months and years, an implementation got created that reflects the comments (no
environment variable, not forcing Rexx programmers to either or trace formats,
making it as flexible as possible, allowing the Rexx programmer to come up with
his own formatting and the like).
Basically the discussed idea of some TraceObject containing trace related information
(like the condition object that contains all condition related information) got
implemented. The makeString method delegates to the class method makeStringImpl. This
(after exploring other options from intercepting .traceOutput to subclassing and even
mixinclassing it) solution makes it very easy on Rexx programmers to come up with their
own trace formats, if need be: one merely receives the traceObject and returns the string
that should be used as the formatted traceline. Then the Rexx programmer can use the
class method setMakeString to set to the new trace formating (and unsetMakeString to
cancel it). As discussed on the developer list there are also different predefined trace
formats that can be simply chosen by the Rexx programmer by setting the TraceObject's
class attribute "option" to it (defaults to N, normal trace format).
The proposed documentation is part of the attached readme.txt file. The
attached zip archive includes sample Rexx programs that try to demonstrate some
of the most important points of the implementation.
The patch is attached as "20240205_1522.diff" and can be applied to the
current trunk.
<https://wi.wu.ac.at/rgf/rexx/tmp/20240128_mt/> carries all the attached
files as well. In addition it contains a 64-bit debug Windows version of ooRexx that
already is compiled with the diff/patch applied to it.
Attachments:
-
[test_scripts.zip](https://sourceforge.net/p/oorexx/feature-requests/_discuss/thread/1502e89092/3309/attachment/test_scripts.zip)
(23.8 kB; application/x-zip-compressed)
-
[readme.txt](https://sourceforge.net/p/oorexx/feature-requests/_discuss/thread/1502e89092/3309/attachment/readme.txt)
(16.6 kB; text/plain)
-
[20240205_1522.diff](https://sourceforge.net/p/oorexx/feature-requests/_discuss/thread/1502e89092/3309/attachment/20240205_1522.diff)
(26.5 kB; text/plain)
---rony
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel