Hi! ----
The ksh93-integration update2 ARC case is now running (originally we forgot to CC: ksh93-integration-discuss at opensolaris.org but any following replies should go to the list, too) ... -------- Original Message -------- Subject: ksh93 update 2 [PSARC/2009/063 FastTrack timeout 02/09/2009] Date: Sun, 01 Feb 2009 17:28:55 -0800 (PST) From: Alan Hargreaves <ah89...@sac.sfbay.sun.com> To: PSARC-ext at sun.com 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