Sorry, overworked, hence a little correction to the text describing the purpose of the new method options inline.

On 21.10.2025 13:43, Rony G. Flatscher wrote:

The documentation for Package's globalOptions and options methods got updated/completed. So the next time Jenkins creates the PDF books, one could download rexxref.pdf from Sourceforge from <https://sourceforge.net/projects/oorexx/files/oorexx-docs/5.2.0beta/>.

Here, the text copied from my local rexxref.pdf:

    5.1.5.2. *NEW* globalOptions (Class Method)

    globalOptions( "OverrideOptions", optionsDirective | "CountOverrides" , 
count )

    This method allows to override the package settings of programs (packages) 
that get loaded or
    required, after this method got executed.

    The following are valid options. (Only the first capitalized letter is 
needed; all characters
    following it are
    ignored.)

    OverrideOption
    returns the current override settings formatted as an ::OPTIONS directive. 
If the second argument
    is given, then it needs to be formatted as an ::OPTIONS directive and 
determines how the
    package options get overridden from that moment on.

    CountOverrides
    returns its current value, which by default is set to 0 which inhibits that 
overrides take place.
    Supplying a positive value as the second argument will set this option and 
determines the number
    of times an override should take place. A negative number like -1 will 
cause the overriding to be
    always applied.

    Note
    It is possible to override individual package options by taking advantage 
of *NEW* options.

and

    5.1.5.29. *NEW* options
    options( "All" | option, newValue)

    This method allows for getting at the currently set package options, which 
can be explicitly
    set using
    the ::OPTIONS directive.

This method allows for querying and changing the package's current options at 
runtime, in addition to
the static ::OPTIONS directive.

    This method allows for querying and changing the package's current options 
at runtime, in
    addition to the static ::OPTIONS directive.

    Sending the options message without an argument will return a string 
encoded as an ::OPTIONS
    directive denoting all the current settings of the package, e.g., 
"::OPTIONS DIGITS 9 FORM
    SCIENTIFIC FUZZ 0 ERROR CONDITION FAILURE CONDITION LOSTDIGITS CONDITION
    NOSTRING CONDITION NOTREADY CONDITION NOVALUE CONDITION PROLOG TRACE NORMAL"
    Sending the message options with one argument, the option argument, will 
return the current
    setting
    for that particular option. If a second argument is supplied, then the 
option will get set to
    that value,
    and the previous value is returned.

    This method allows querying and changing the package settings (cf. 
::OPTIONS). The changes take
    effect for the next invocation of a routine or method from the package.

    The following option names in the first column can be used for the first 
argument, and the
    values in
    the second column can be used to change the setting. Note: Only the leading 
capitalized
    letters are
    needed; all characters following them are ignored

    option newValue

    "All" "Condition", "Syntax": sets all condition related options

    "Digits" E.g., "11" (a whole positive number, must be bigger than fuzz)

    "Error" (condition) "Condition", "Syntax"

    "FAilure" (condition) "Condition", "Syntax"

    "FUzz" E.g., "3" (a whole number, must be smaller than digits)

    "FOrm" "Engineering", "Scientific"

    "InitialPackageSettings" This option must not have a newValue argument! It 
merely returns a
    string encoded as an ::OPTIONS directive, representing the package settings 
before any
    override took place.

    "Lostdigits" (condition) "Condition", "Syntax"

    "NOString" (condition) "Condition", "Syntax"

    "NOTready" (condition) "Condition", "Syntax"

    "NOValue" (condition) "Condition", "Syntax"

    "Prolog" "Noprolog", "Prolog"

    "Reset" This option must not have a newValue argument! Returns a string 
encoded as an
    ::OPTIONS directive, representing the package settings before resetting all 
options to the
    initial pacakge settings.

    "SetPackageSettings" The argument must be a string encoded as an ::OPTIONS 
directive. This
    will also reset all options not listed in the string to their default 
values.  Returns a
    string encoded as an ::OPTIONS directive, representing the package settings 
before resetting
    them to the package's initial settings.
    "Trace" "All", "Commands", "Error", "Failure", "Intermediates",
    "Labels", "Normal", "Off", "Results"

    Example 5.47. Package class — options method
    say .context~package~options

    The output may be a string like:
    ::OPTIONS DIGITS 9 FORM SCIENTIFIC FUZZ 0 ERROR CONDITION FAILURE CONDITION 
LOSTDIGITS
    CONDITION NOSTRING CONDITION NOTREADY CONDITION NOVALUE CONDITION PROLOG 
TRACE NORMAL

    Note
    It is possible to override package options for programs/packages that get 
loaded or required
    dynamically by taking advantage of *NEW* globalOptions (Class Method).

It would be nice if English native speakers could check whether it is understandable now, and whether it can be improved (if so, please give suggestions).

---rony

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

Reply via email to