+1 Irek
On 2/2/09, Garrett D'Amore <gdamore at sun.com> wrote: > +1. > > > - Garrett > > > Alan Hargreaves wrote: > > I'm sponsoring this fast-track request on behalf of the > > ksh93-integration project. > > > > Please note that this is an *open* case. > > > > Template Version: @(#)sac_nextcase %I% %G% SMI > > This information is Copyright 2009 Sun Microsystems > > 1. Introduction > > 1.1. Project/Component Working Name: > > ksh93 update 2 > > 1.2. Name of Document Author/Supplier: > > Author: Alan Hargreaves > > 1.3 Date of This Document: > > 01 February, 2009 > > 4. Technical Description > > > > The release binding is the same as with the previous ksh93 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 > > (PSARC/2006/550, PSARC/2006/587, PSARC/2007/035 and PSARC/2008/344) > > specifying the following additional interfaces: > > > > 1) Update of ksh93 interfaces > > 1.1) New "typeset" variable type qualifier ("-C") to declare compound > > variables > > 1.2) New "typeset" option "-m" to rename/move a variable > > 1.3) New "read" option "-C" to read a variable as compound variable > > 1.4) New "print" option "-C" to print compound variables as a > > single line > > 1.5) New ksh93 math functions "log10", "j0", "j1", "jn", "y0", > > "y1", "yn" > > 1.6) Interface stability change of the POSIX shell command language > > parts of the ksh93 language > > > > 2) An enhanced version of the "cmp" utility and an identical ksh93 > > built-in command > > > > 3) An enhanced version of the "cut" utility and an identical ksh93 > > built-in command > > > > 4) An enhanced version of the "comm" utility and an identical ksh93 > > built-in command > > > > 5) An enhanced version of the "paste" utility and an identical ksh93 > > built-in command > > > > 6) The addition of /usr/bin/print > > > > 7) An enhanced version of the "uniq" utility and an identical ksh93 > > built-in command > > > > 8) An enhanced version of the "wc" utility and an identical ksh93 > > built-in command > > > > 9) Addition of /usr/share/doc/ksh/ for ksh93 documentation. > > > > 10) Enable "globstar" mode for interactive shells via /etc/ksh.kshrc > > > > > > Bug/RFE Number(s): > > > > 6793744 RFE: Add /usr/share/doc/ksh/ for ksh93 documentation > > 6793763 RFE: Update /usr/bin/ksh93 to ast-ksh.2009-01-14 > > 6793722 RFE: Update /usr/bin/cmp to AT&T AST "cmp" > > 6793714 RFE: Update /usr/bin/comm to AT&T AST "comm" > > 6793719 RFE: Update /usr/bin/cut to AT&T AST "cut" > > 6793721 RFE: Update /usr/bin/paste to AT&T AST "paste" > > 6793747 RFE: Provide "print" builtin as /usr/bin/print for external > applications > > 6793726 RFE: Update /usr/bin/uniq to AT&T AST "uniq" > > 6793735 RFE: Update /usr/bin/wc to AT&T AST "wc" > > 6794952 RFE: Enable "globstar" option in /etc/ksh.kshrc > > > > > > Interface Stability Description > > --------- --------- ----------- > > <POSIX Shell Command Language Commited <IEEE Std 1003.1-2008 > > part of the ksh93 language> Shell Command > > Language> > > /usr/bin/cmp Commited cmp command > > /usr/bin/comm Commited comm command > > /usr/bin/cut Commited cut command > > /usr/bin/paste Commited paste command > > /usr/bin/print Uncommited print command > > /usr/bin/uniq Commited uniq command > > /usr/bin/wc Commited wc command > > <new C99 math function "log10"> Commited C99 math functions > > <new C99 math function "j0"> Commited C99 math functions > > <new C99 math function "j1"> Commited C99 math functions > > <new C99 math function "jn"> Commited C99 math functions > > <new C99 math function "y0"> Commited C99 math functions > > <new C99 math function "y1"> Commited C99 math functions > > <new C99 math function "yn"> Commited C99 math functions > > > > Detail > > ====== > > > > 1. Update of ksh93 interfaces > > ----------------------------- > > > > 1.1 New "typeset" variable type qualifier ("-C") to declare compound > > variables > > > > The "typeset" builtin has a new option "-C" (previously declared as > > "reserved for future usage") to declare a variable as a compound > > variable. If value names a compound variable it will be copied to name. > > Otherwise if the variable already exists, it will first be unset. This > > replaces the previous implicit declaration on assignment (e.g. > > $ typeset -C foo # instead of $ foo=() #). > > > > 1.2 New "typeset" option "-m" to rename/move a variable > > > > The "typeset" builtin has a new option "-m" to rename/move a variable. > > This is useful to split/merge variable trees or move parts of variable > > trees around. > > > > 1.3 New "read" option "-C" to read a variable as compound variable > > > > The "read" builtin has a new option "-C" to read the input into a > > compound variable (this can be used to construct "record-oriented" > > pipes). > > > > 1.4 New "print" option "-C" to print compound variables as a single line > > > > The "print" builtin has a new option "-C" to print compound variables > > as a single line (the existing $ print -v varname # and > > $ printf '%B\n' varname # prints a multiline, human-friendly output), > > equivalent to $ printf "%#B\n" varname #. > > > > The idea is to allow compound variables to be filtered in pipelines, e.g. > > $ ... ; while ... ; do print -C myvar done | \ > > egrep -v '.*=hasfish.*' | \ > > while read -C filtered_vars ; do \ > > ... > > done > > > > 1.5 New ksh93 math functions "log10", "j0", "j1", "jn", "y0", "y1", "yn" > > > > Function name | Prototype | see manual page > > ---------------+--------------------------------------+----------------- > > log10 | float log10(float) | log10(3m) > > j0 | float j0(float) | j0(3m) > > j1 | float j1(float) | j1(3m) > > jn | float jn(float) | jn(3m) > > y0 | float y0(float) | y0(3m) > > y1 | float y1(float) | y1(3m) > > yn | float yn(float) | yn(3m) > > > > > > (note: the datatypes "integer" and "float" refer to the "integer" and > > "float" datatypes in ksh93 scripts, not those in the "C" language) > > > > 1.6 Interface stability change of the POSIX shell command language parts > > of the ksh93 language > > > > The interface stabilty of POSIX shell command language parts of the > > ksh93 language are updated from "Uncommited" to "Commited" (the > > ksh93-specific language parts not defined in "IEEE Std 1003.1-2008 > > Shell Command Language" remain "Uncommited"). > > > > The POSIX shell command language is described in > > http://www.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html > > > > 2. Enhancement of /usr/bin/cmp > > ------------------------------ > > > > The second part of this project specifies an enhancement to > > /usr/bin/cmp and based on the AT&T AST "cmp" command. > > > > The AT&T AST version of the "cmp" utility provides support for the > > following additional options found commonly in other implementations > > such as GNU and BSD: > > > > -c, --print-chars > > -i, --ignore-initial=skip > > --verbose (same as existing -l) > > -s, --quiet|silent > > --man, --html, --nroff, --help, --version > > > > The stability of the "/usr/bin/cmp" command and built-in command-line > > interface (including the new options) is "Committed". > > > > For further information/specifications see the materials directory. > > > > 3. Enhancement of /usr/bin/cut > > ------------------------------ > > > > The third part of this project specifies an enhancement to /usr/bin/cut > > and based on the AT&T AST "cut" command. > > > > The AT&T AST version of the "cut" utility provides support for the > > following additional options found commonly in other implementations > > such as GNU and BSD: > > > > --bytes=list (same as existing -b) > > --characters=list (same as existing -c) > > --delimiter=delim (same as existing -d) > > --fields=list (same as existing -f) > > --nosplit (same as existing -n) > > -R|r, --reclen=reclen > > -D, --line-delimeter|output-delimiter=ldelim > > -N, --nonewline > > --suppress|only-delimited (same as existing -s) > > --man, --html, --nroff, --help, --version > > > > The stability of the "/usr/bin/cut" command and built-in command-line > > interface (including the new options) is "Committed". > > > > For further information/specifications see the materials directory. > > > > 4. Enhancement of /usr/bin/comm > > ------------------------------- > > > > The fourth part of this project specifies an enhancement to > > /usr/bin/comm and based on the AT&T AST "comm" command. > > > > The AT&T AST version of the "comm" utility provides support for the > > following additional options found commonly in other implementations > > such as GNU and BSD: > > > > --man, --html, --nroff, --help, --version > > > > The stability of the "/usr/bin/comm" command and built-in command-line > > interface (including the new options) is "Committed". > > > > For further information/specifications see the materials directory. > > > > 5. Enhancement of /usr/bin/paste > > -------------------------------- > > > > The fifth part of this project specifies an enhancement to > > /usr/bin/paste and based on the AT&T AST "paste" command. > > > > The AT&T AST version of the "paste" utility provides support for the > > following additional options found commonly in other implementations > > such as GNU and BSD: > > > > --serial (same as existing -s) > > --delimiters=list (same as existing -d) > > --man, --html, --nroff, --help, --version > > > > The stability of the "/usr/bin/paste" command and built-in command-line > > interface (including the new options) is "Committed". > > > > For further information/specifications see the materials directory. > > > > 6. The addition of /usr/bin/print > > --------------------------------- > > > > The sixth part of this project specifies a new utility called > > "/usr/bin/print" which exposes the ksh93 builtin command "print" as > > interface for other scripts/utilities. > > > > Unlike other built-in commands named in PSARC/2006/550, the "print" > > built-in in ksh93 will _not_ be bound to the /usr/bin/ pathname to > > ensure backwards-compatiblity to existing ksh93 scripts (for example > > scripts running in "restricted" shell mode expect that some shell > > builtins are available independently from the value of ${PATH}). > > > > The stability of the "/usr/bin/print" command and built-in command-line > > interface and the system variables documented in print(1) is > > "Uncommitted". > > > > For further information/specifications see the materials directory. > > > > 7. Enhancement of /usr/bin/uniq > > ------------------------------- > > > > The seventh part of this project specifies an enhancement to > > /usr/bin/uniq and based on the AT&T AST "uniq" command. > > > > The AT&T AST version of the "uniq" utility provides support for the > > following additional options found commonly in other implementations > > such as GNU and BSD: > > > > --count (same as existing -c) > > --repeated|duplicates (same as existing -d) > > -D, --all-repeated[=delimit] > > --skip-fields=fields (same as existing -f) > > -i, --ignore-case > > --skip-chars=chars (same as existing -s) > > --unique (same as existing -u) > > -w, --check-chars=chars > > --man, --html, --nroff, --help, --version > > > > The stability of the "/usr/bin/uniq" command and built-in command-line > > interface (including the new options) is "Committed". > > > > For further information/specifications see the materials directory. > > > > 8. Enhancement of /usr/bin/wc > > ----------------------------- > > > > The eighth part of this project specifies an enhancement to /usr/bin/wc > > and based on the AT&T AST "wc" command. > > > > The AT&T AST version of the "wc" utility provides support for the > > following additional options found commonly in other implementations > > such as GNU and BSD: > > > > --lines (same as existing -l) > > --words (same as existing -w) > > --bytes|chars (same as existing -c) > > --multibyte-chars (same as existing -m/-C) > > -L, --longest-line|max-line-length > > --man, --html, --nroff, --help, --version > > > > The stability of the "/usr/bin/wc" command and built-in command-line > > interface (including the new options) is "Committed". > > > > For further information/specifications see the materials directory. > > > > 9. Addition of /usr/share/doc/ksh/ > > ---------------------------------- > > > > The ninth part of this project specifies a new directory to store ksh's > > documentation. > > > > 10. Enable "globstar" mode for interactive shells > > ------------------------------------------------- > > > > The tenth portion of this project specifies to enable the > > "globstar"([1]) mode in "/etc/ksh.kshrc" for interactive ksh93 shell > > sessions to improve end-user usabilty, similar to the default > > configuration found on SuSE Linux and the default of bash version 3.x. > > > > [1]=The "globstar" mode (enabled via $ set -o globstar #) causes ** by > > itself to also match all sub-directories during pathname expansion. > > > > > > 6. Resources and Schedule > > 6.4. Steering Committee requested information > > 6.4.1. Consolidation C-team Name: > > ON > > 6.5. ARC review type: FastTrack > > 6.6. ARC Exposure: open > > > > > > _______________________________________________ > opensolaris-arc mailing list > opensolaris-arc at opensolaris.org >