Missatge de Rony G. Flatscher <[email protected]> del dia dl., 13 de
jul. 2026 a les 16:38:
>
> I think that .True is no longer an environment symbol.
>
> According to "1.13.6. Environment Symbols" (documenting short-circuits
> introduced with 5.0 if recalling correctly), and "Chapter 6. Rexx Runtime
> Objects" .True is an environment symbol.
>
> Here the full list of the entries in .local and .environment:
>
(cut)
> *# 75: index=[TRUE] -> item=[1]*
>
> (cut)
> In the short-circuit cases (.True is dubbed an "environment constant"
> in rexxref.pdf's "1.13.6. Environment Symbols") and some other cases LOCAL
> and ENVIRONMENT do not get consulted, such that there would be no need for
> a security checkpoint, as no access of .local or .environment is taking
> place. This should be probably documented in the security manager chapter
> ("Chapter 13. The Security Manager").
>
Consider:
Say .True .Environment~True
.Environment~True = 0
Say .True .Environment~True
This prints "1 1" and then "1 0" under ooRexx 5.3.0, and "1 1" and then "0
0" under OS/2 Object Rexx.
At some point, it was decided that .Nil, .True and .False should not be
able to be updated, which is
completely understandable, and then these started to be treated as
constants, but *they weren't*
*removed from .Environment*.
Therefore, .Environment~true is simply *a fake entry*. My impression is
that it should be removed:
keeping it is nonsense, because it has unexpected (and, indeed,
self-contradictory) semantics.
The same is true of .false and .nil.
Rexxpg 5.4.1.2. The False Environment Object (.false) says:
*The environment object .false simply allows for retrieving the value 0
stored in the environmentdirectory .environment, which is the value used in
Rexx to represent the boolean value "false" ("nottrue"). You can use the
environment symbol .false instead of the literal 0 to make clear that you
areusing a boolean value (and not a number or a string).*
whis is, well, *false.*
.Object et al are another story. There is a separate place to consult (item
4) after loaded classes and
before .context~package~local.
Josep Maria
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel