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