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")


On 07.02.2024 16:08, Rony G. Flatscher wrote:

<> 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.

    <>  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.


 (23.8 kB; application/x-zip-compressed)
 (16.6 kB; text/plain)
 (26.5 kB; text/plain)


Oorexx-devel mailing list

Reply via email to