As I could run the full test suite on Windows successfully, I will commit the code and related unit tests in a short while.

Here a synopsis:

   The .Package class gets two new protected methods:

     * the protected class method "globalOptions" which allows to query and set 
override package
       options and an override count which controls whether the override 
package options get
       applied whenever a program/package gets newly called or required:
       globalOptions(option[,newValue])

         o option "OverridePackageOptions" (only first capital letter needed): 
returns a string
           formatted as an "::OPTIONS" directive showing all options and their 
values; if one
           supplies "newValue" it needs to be a string formatted as an 
"::OPTIONS" directive, which
           will be used from then on to override the internal package options 
on newly called or
           required programs.

         o option "CountOverride" (only first capital letter needed): returns 
the current
           countOverride value; if one supplies "newValue" it needs to be a 
whole number. If
           countOverride is 0, then no overrides take place. If count Override 
is a positive number
           n, the overrides take place n times. If count is a negative number 
like -1, then the
           overrides take place forever ("globally").

     * the protected instance method "options" which allows to query and set 
(individual) package
       options for the package: options ([option[,newValue]])

         o (no arguments): returns a string formatted as an "::OPTIONS" 
directive showing all
           options and their values

         o "All" (only first capital letter needed): this option mandates 
"newValue" which can be
           one of "Condition" or "Syntax"; it sets all conditions (Error, 
FAilure, Lostdigits,
           NOString, NOTready, NOValue) to "newValue"; it is an error to omit 
"newValue"

         o "Digits" (only first capital letter needed): returns the current 
digits() setting; if
           "newValue" is given it must be a positive whole number that is 
larger than fuzz()

         o "Error"  (only first capital letter needed): returns current 
condition's setting
           ("CONDITION"=default, "SYNTAX"); if "newValue" is given it must be either 
"Condition" or
           "Syntax"

         o "FAilure" (only first two capital letters needed): returns current 
condition's setting
           ("CONDITION"=default, "SYNTAX"); if "newValue" is given it must be either 
"Condition" or
           "Syntax"

         o "FOrm" (only first two capital letters needed): returns the current 
form() setting
           (either "SCIENTIFIC" or "ENGINEERING"); if "newValue" is given it 
must be either
           "Scientific" or "Engineering"

         o "FUzz" (only first two capital letters needed): returns the current  
fuzz() setting; if
           "newValue" is given it must be a zero or a positive whole number 
that is smaller than
           digits()

         o "InitialPackageSettings"  (only first capital letter needed): 
returns a string formatted
           as an "::OPTIONS" directive showing all options and their values; 
one must not supply a
           "newValue" which would be regarded as an error

         o "Lostdigits" (only first capital letter needed): returns current 
condition's setting
           ("CONDITION"=default, "SYNTAX"); if "newValue" is given it must be either 
"Condition" or
           "Syntax"

         o "NOString" (only first three capital letters needed): returns 
current condition's
           setting ("CONDITION"=default, "SYNTAX"); if "newValue" is given it 
must be either
           "Condition" or "Syntax"

         o "NOTready" (only first three capital letters needed): returns 
current condition's
           setting ("CONDITION"=default, "SYNTAX"); if "newValue" is given it 
must be either
           "Condition" or "Syntax"

         o "NOValue" (only first three capital letters needed): returns current 
condition's setting
           ("CONDITION"=default, "SYNTAX"); if "newValue" is given it must be either 
"Condition" or
           "Syntax"

         o "Prolog"  (only first capital letter needed): returns current prolog 
s setting
           ("PROLOG"=default, "NOPROLOG"); if "newValue" is given it must be either 
"Prolog" or
           "Noprolog"

         o "Reset"  (only first capital letter needed): returns a string 
formatted as an
           "::OPTIONS" directive showing all options and their values; one must 
not supply a
           "newValue" which would be regarded as an error

         o "SetPackageOptions"  (only first capital letter needed): returns a 
string formatted as
           an "::OPTIONS" directive showing all options and their values and 
sets the package
           options to "InitialPackageSettings";  one must not supply a 
"newValue" which would be
           regarded as an error

         o "Trace"  (only first capital letter needed): returns a single letter 
indicating the
           trace option in effect ("A", "C", "E", "F", "I", "L", "N", "O", "R");  if 
"newValue" is
           given it needs to be one of "All", "Commands", "Error", "Failure", 
"Intermediates",
           "Labels", "Normal", or "Off"

To get at this version, check back with <https://sourceforge.net/projects/oorexx/files/oorexx/5.2.0beta/> in a little while, as Jenkins will create and test ooRexx on many operating systems each time commits occur to ooRexx' trunk.

---rony


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

Reply via email to