+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
>
>   


Reply via email to