Sorry, one more set of questions:
>
> 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
> 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"
>
>
As you now have created a new keyword and function name, ("ceil" and
"enum"), what will happen to scripts that may already have used these words?
Have the upstream providers given thought to dealing with changes like
this and their impact on already-deployed scripts? (Maybe there aren't
any that we care about yet, since our ksh93 is still so new.)
I'm concerned, going forward, as ksh93 syntax becomes more prevalent,
that bringing in changes like the above may have unintended consequences
in scripts or even ON delivered components, which we cannot easily find
or test.
It would be nice (and maybe this is advice to send upstream) if there
was a way for script authors to be sure that their namespace was not
going to change underneath them. As one possible solution (and this is
just for illustrative), imagine a flag for ksh, -N2008.05.28, which
script authors could put in their #!/usr/bin/ksh line which ksh would
take to mean that only the language features available in ksh version
2008.05.28 should be exported.
Another solution, might be to reserve some portion of the namespace
(e.g. with a prefix identifier such as an underscore) for either new
names in the language, or to reserve it for script author use (e.g.
names with a certain prefix are guaranteed to be "safe".)
-- Garrett