Alan Coopersmith wrote:
> 
> I'm sponsoring this fast-track request on behalf of the
> ksh93-integration project.
> Please note that this is an *open* case.
[snip]

As discussed in today's ARC phone call...
... attached is the updated text for "onepager.txt" and
"manpage.diff.txt" and the diff from the old to the new version
("ksh93_integration_update1_Amendments_1_PSARC_2008_344_case_update001.diff.txt")
...

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) roland.mainz at nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 7950090
 (;O/ \/ \O;)
-------------- next part --------------
I'm sponsoring this fast-track request on behalf of the
ksh93-integration project.
Please note that this is an *open* case.

The release binding is the same as with the previous ksh93-integration project:
a patch/micro release of Solaris delivering through OS/Net
Stability levels are as described below.

Additional materials (man pages and diffs) can be found in the
'materials' subdirectory.



This project is an amendment to the Korn Shell 93 Integration project
update 1 ARC case (PSARC/2008/094) specifying the following additional
interfaces:
1) Update of ksh93 from upstream release ast-ksh.2007-12-15 to
  ast-ksh-2008-05-22
1.1) Update of ksh93
1.2) New "typeset" variable storage qualifier for function-static
        variables ("typeset -S varname")
1.3) New floating-point datatype "hexfloat" ("typeset -X varname)
1.4) New reserved options for "typeset".
1.5) New ksh93 math functions "ceil":
1.6) New reserved builtin "enum"



Bug/RFE Number(s):

6619428 RFE: Update ksh93 in Solaris to ast-ksh.2007-10-15 (or higher)
6601968 RFE: Add /usr/lib/shell/ksh/ as a place to store loadable
        shell functions



Interface                       Stability        Description                    
         
---------                       ---------        -----------  
/usr/lib/shell/                 Project private  <see below>
<new C99 math function "ceil">  Commited         C99 math functions



### Part 1: Update of ksh93 from upstream release ast-ksh.2007-12-15 to
ast-ksh-2008-05-22


## Part 1.1: Update of ksh93
The 1.1 portion of this project is the update of ksh93 from
ast-ksh.2007-12-15 to ast-ksh-2008-05-22 which marks the update from
ksh93 version 's+' to version 't-' (AST/ksh93 uses the (latin)
alphabet for its version number, e.g. version 'a', version 'b' etc. ;
the '+'/'-' means the stabilty status, e.g. '-' means its "alpha",
no suffix means its "stable" (e.g. ready for production usage) and
'+' means its a bugfixed stable version etc.).

Note that the team has invested _significant_ amounts of time to ensure
the quality requirements for Solaris, doing both manual and automated
testing, e.g. testing ksh93 using it's own test suite (47 tests) in 53
different locales, one time as plain script and one time as compiled
script (resulting in 4982 test runs), improving the test suite,
enabling libast-internal memory corruption checking (similar to what
libumem does), developing own additions to the test suite and running
the standards test suites agains it, too.
Manual testing includes basic usability exists covering languages like
Japanese and Chinese (UTF-8 and GB18030), testing whether the generated
binaries work as /sbin/sh and /usr/bin/ksh in the Indiana distribution
and whether the binaries can be used to build OS/Net.


## Part 1.2: New "typeset" variable storage qualifier for function
  static variables ("typeset -S varname")
The "typeset" builtin has a new option "-S" to declare a variable
as "static", similar to |static| variables in a ISO C/C++ code.


## Part 1.3: New floating-point datatype "hexfloat" ("typeset -X
  varname")
The "typeset" builtin has a new option "-X" to define a floating-point
variable which uses the same floating-point representation as
printf "%a" (hexadecimal floating point representation). The option
is intended to be used in cases where the values should be permanently
stored or passed to other applications without suffering the loss in
precision caused by a base2--->base10--->base2 conversion chain.
All shell facilities and C99/XPG6 conformant applications which accept
floating-point values accept the hexfloat format.


## Part 1.4: New reserved options for "typeset".
The typeset options "-T", "-h" and "-C" are reserved for future usage.


## Part 1.5: New ksh93 math functions "ceil":
Function name  | Prototype                            | see manual page
---------------+--------------------------------------+-----------------
          ceil |        float             ceil(float) |       ceil(3m)
(note: the datatypes "integer" and "float" refer to the "integer" and
"float" datatypes in ksh93 scripts, not those in the "C" language)


## Part 1.6: New reserved builtin "enum"
The builtin command "enum" is hereby reserved for future usage.

A note will be added to the ksh93(1) manual page to suggest that shell
script authors should choose shell function outside the namespace used by
reserved keywords of the ISO C99/C++/JAVA languages to avoid collisions
with future enhancements to ksh93.


-------------- next part --------------
--- typeset.1.txt   Fri May 23 23:03:15 2008
+++ typeset.1.txt   Fri May 23 23:03:15 2008
@@ -45,7 +45,9 @@
   expansion occurs on value.
 
 OPTIONS
   -a[type]        Indexed array. This is the default. If [type] is specified,
                   each subscript is interpreted as a value of type type. The
                   option value may be omitted.
   -b              Each name may contain binary data. Its value is the mime
                   base64 encoding of the data. It can be used with -Z, to
                   specify fixed sized fields.
+  -C              Reserved for future usage.

@@ -92,6 +94,18 @@
                   If the -Z attribute is also specified, then zeros will be
                   used as the fill character. Otherwise, spaces are used. The
                   option value may be omitted.
+  -X[n]           Floating point number represented in hexadecimal notation. n
+                  specifies the number of significant figures when the value is
+                  expanded. The option value may be omitted. The default value
+                  is 10.
+  -h              Reserved for future usage.
+  -S              When used inside a
+                  function defined with the function reserved word, the
+                  specified variables will have function static scope.
+  -T              Reserved for future usage.
   -Z[n]           Zero fill. If n is given it represents the field width. The
                   option value may be omitted.
--- ksh93.1.txt Thu Jun 12 00:13:19 2008
+++ ksh93.1.txt Thu Jun 12 00:15:00 2008
@@ -3252,6 +3252,11 @@
      516972-0.
 
 CAVEATS
+     It is  recommended  that  ksh93  scripts should choose shell
+     function  names  outside  the  namespace  used  by  reserved
+     keywords  of the ISO C99, C++ and JAVA  languages  to  avoid
+     collisions with future enhancements to ksh93.
+
      If a command is executed, and then a command with  the  same
      name  is  installed in a directory in the search path before
      the directory where the  original  command  was  found,  the
-------------- next part --------------
Index: onepager.txt
===================================================================
--- onepager.txt        (revision 1067)
+++ onepager.txt        (working copy)
@@ -17,12 +17,12 @@
 1) Update of ksh93 from upstream release ast-ksh.2007-12-15 to
   ast-ksh-2008-05-22
 1.1) Update of ksh93
-1.2) New "typeset" variable storage qualifier for function
+1.2) New "typeset" variable storage qualifier for function-static
+       variables ("typeset -S varname")
 1.3) New floating-point datatype "hexfloat" ("typeset -X varname)
 1.4) New reserved options for "typeset".
 1.5) New ksh93 math functions "ceil":
-1.5) New reserved builtin "enum"
-2) Project-private location for shell function library
+1.6) New reserved builtin "enum"
 
 
 
@@ -54,7 +54,20 @@
 no suffix means its "stable" (e.g. ready for production usage) and
 '+' means its a bugfixed stable version etc.).
 
+Note that the team has invested _significant_ amounts of time to ensure
+the quality requirements for Solaris, doing both manual and automated
+testing, e.g. testing ksh93 using it's own test suite (47 tests) in 53
+different locales, one time as plain script and one time as compiled
+script (resulting in 4982 test runs), improving the test suite,
+enabling libast-internal memory corruption checking (similar to what
+libumem does), developing own additions to the test suite and running
+the standards test suites agains it, too.
+Manual testing includes basic usability exists covering languages like
+Japanese and Chinese (UTF-8 and GB18030), testing whether the generated
+binaries work as /sbin/sh and /usr/bin/ksh in the Indiana distribution
+and whether the binaries can be used to build OS/Net.
 
+
 ## Part 1.2: New "typeset" variable storage qualifier for function
   static variables ("typeset -S varname")
 The "typeset" builtin has a new option "-S" to declare a variable
@@ -85,34 +98,12 @@
 "float" datatypes in ksh93 scripts, not those in the "C" language)
 
 
-## Part 1.5: New reserved builtin "enum"
+## Part 1.6: New reserved builtin "enum"
 The builtin command "enum" is hereby reserved for future usage.
 
+A note will be added to the ksh93(1) manual page to suggest that shell
+script authors should choose shell function outside the namespace used by
+reserved keywords of the ISO C99/C++/JAVA languages to avoid collisions
+with future enhancements to ksh93.
 
-### Part 2: Project-private location for shell function library
-/usr/lib/shell/ is reserved as project private location, mainly to
-build a (platform/architecture-specific) library of dynamically
-loadable shell functions in a similar form as java packages.
 
-For example the opensolaris.org networking team might store HTTP
-protocol handling functions under 
-"/usr/lib/shell/sh/funclib/org/opensolaris/net/http/" (e.g.
-/usr/lib/shell/sh/... for is for POSIX shells,
-/usr/lib/shell/zsh/... for modules which use "zsh" syntax,
-/usr/lib/shell/bash/ for modules which use "bash" syntax etc.)
-and the shell would access modules in this directory via adding
-this path to the "function path", e.g.
-FPATH+=":/usr/lib/shell/ksh/funclib/org/opensolaris/net/http/" (note
-that shell functions loaded via this way will be _bound_ to this
-FPATH element (the same way as ksh93 binds builtin commands to
-specific PATH elements) only be visible as long as FPATH contains
-a matching path entry - removing the FPATH entry will disable the
-functions (but not unload them), re-adding the same path will
-make the functions accessible again (this allows that multiple
-groups/organisations may use the same function/module names without
-having namespace collisions)).
-The interfaces and modules provided by this API will be
-offered for ARC contracts and later (after some "soaking" period)
-opened-up on case-by-case basis.
-
-
Index: manpage_diff.txt
===================================================================
--- manpage_diff.txt    (revision 1066)
+++ manpage_diff.txt    (working copy)
@@ -27,3 +27,17 @@
 +  -T              Reserved for future usage.
    -Z[n]           Zero fill. If n is given it represents the field width. The
                    option value may be omitted.
+--- ksh93.1.txt        Thu Jun 12 00:13:19 2008
++++ ksh93.1.txt        Thu Jun 12 00:15:00 2008
+@@ -3252,6 +3252,11 @@
+      516972-0.
+ 
+ CAVEATS
++     It is  recommended  that  ksh93  scripts should choose shell
++     function  names  outside  the  namespace  used  by  reserved
++     keywords  of the ISO C99, C++ and JAVA  languages  to  avoid
++     collisions with future enhancements to ksh93.
++
+      If a command is executed, and then a command with  the  same
+      name  is  installed in a directory in the search path before
+      the directory where the  original  command  was  found,  the

Reply via email to