>
> (snip)
>
> Besides, this is also *undocumented*: rexxref 3.3 says "If you specify
> the PUBLIC option, the class is visible beyond its containing Rexx program
> to any other program that references this program with a ::REQUIRES
> directive". There's nothing about CALL in the description of ::CLASS, only
> about ::REQUIRES (or in the description of ::ROUTINE, for that matter).
>
>>
>>
 Well I must say that his has surprised me. I am a believer: I believe in
what manuals say. That's not the result of a special predisposition to
belief, but because I think --rationally-- that I will spend less energy
believing the manuals than testing everything by myself ;-)

I went to check my copy of OS/2, and Object Rexx ("OBJREXX 6.00 18 May
1999") behaves in the same way (but of course there is no .context runtime
object, etc.). In that time, there were only four directives: ::CLASS,
::METHOD, ::REQUIRES and ::ROUTINE. The manual (REXX.INF) is, in that
aspect, identical to rexxref: "If you specify the PUBLIC option, the class
is visible beyond its containing REXX program to any other program that
references this program with a ::REQUIRES directive. If you do not specify
the PUBLIC option, the class is visible only within its containing REXX
program. All classes defined within a program are used before PUBLIC
classes created with the same name".

We seem to have inherited a longtime documentation bug. Maybe we should
amend rexxref and finally recognize the rĂ´le of call, i.e., change "to any
other program that references this program with a ::REQUIRES directive" by
"to any other program that references this program with a ::REQUIRES
directive of a CALL instruction", and similarly for "::ROUTINE"?

What do you think? I can prepare the doc patch myself, when I find time.

  Josep Maria
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to