Roland,
re: CR 6486407/Indiana - you still have to put copies of the ksh
shared libraries into the root file system.
On Jan 12, 2008 5:56 AM, Roland Mainz <roland.mainz at nrubsig.org> wrote:
> Roland Mainz wrote:
> > Below I've attached the draft of upcoming "ksh93-amendments2" ARC case
> > (attachment "onepager_20071222.txt" contains the onepager and
> > "manpage_diff_20071222.txt" are the manual page diffs). Assuming nothing
> > goes wrong we'll try to submit the case in Jan 2008...
> >
> > Comments/rants/questions etc. welcome...
> >
> > ------------------------------------------------------------------------
> > I'm sponsoring this fast-track request on behalf of XXX.
> > Please note that this is an *open* case.
> >
> > 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 and PSARC/2007/035) specifying the following additional
> > interfaces:
> > 1) Update of ksh93 from upstream release ast-ksh.2007-04-18 to
> > ast-ksh-2007-12-01
> > 1.1) Update ksh93
> > 1.2) Update the /usr/bin/bg, /usr/bin/cd,
> > /usr/bin/command, /usr/bin/fc, /usr/bin/fg, /usr/bin/getopts,
> > /usr/bin/hash, /usr/bin/jobs, /usr/bin/kill,
> > /usr/bin/read, /usr/bin/test, /usr/bin/type,
> > /usr/bin/ulimit, /usr/bin/umask, /usr/bin/unalias,
> > /usr/bin/wait from ksh88 to ksh93
> > 1.3) New ksh93 math functions based on C99
> > 1.4) Enable built-ins "sync", "mkfifo", "tty" and "logname" by default
> > 1.5) New directories in /usr/demo/ksh/
> > 1.6) New messaging catalog files for ksh libraries
> > 1.7) Enable "multiline" input mode by default for interactive shells
> > 1.9) Enable default prompt (PS1) for interactive shells
> > 2) Enhancement of /usr/bin/printf
> > 3) Enhancement of /usr/bin/sleep
> > 4) The addition of /usr/bin/rev
> > 5) An enhanced version of the "sum" utility and an identical ksh93
> > built-in command and related library libsum.so.1
> > 6) Add AT&T "shcomp" (shell script compiler) and "shbinexec"
> > kernel module
> > 6.1) Addition of AT&T "shcomp" (shell script compiler)
> > 6.2) Addition of kernel module to recognize "shbin" executables
> >
> > Bug/RFE Number(s):
> >
> > 6619428 RFE: Update ksh93 in Solaris to ast-ksh.2007-10-15 (or higher)
> > 6561901 RFE: Add "shcomp" (shell script compiler) + kernel module
> > to exec binary sh code
> > 6595183 RFE: Update ksh93-integration demo code
> > 6451262 RFE: /usr/bin/sleep should support floating-point values
> > 6207901 ksh and test ignore sub-second timestamp portion
> > 6599668 RFE: Move consumers of alias.sh over to ksh93
> > 6631969 /usr/bin/printf does not recognize positional arguments like %n$
> >
> > Interface Stability Description
> > --------- --------- -----------
> > /usr/bin/bg Commited bg command
> > /usr/bin/cd Commited cd command
> > /usr/bin/command Commited command command
> > /usr/bin/fc Commited fc command
> > /usr/bin/fg Commited fg command
> > /usr/bin/getopts Commited getopts command
> > /usr/bin/hash Commited hash command
> > /usr/bin/jobs Commited jobs command
> > /usr/bin/kill Commited kill command
> > /usr/bin/printf Commited printf command
> > /usr/bin/read Commited read command
> > /usr/bin/rev Commited rev command
> > /usr/bin/sleep Commited sleep command
> > /usr/bin/shcomp Commited AT&T ksh shell script compiler
> > /usr/bin/sum Commited sum command
> > /usr/bin/test Commited test command
> > /usr/bin/type Commited type command
> > /usr/bin/ulimit Commited ulimit command
> > /usr/bin/umask Commited umask command
> > /usr/bin/unalias Commited unalias command
> > /usr/bin/wait Commited wait command
> > /usr/demo/ksh/apps/ Uncommited demo directory
> > /usr/demo/ksh/doc/ Uncommited demo directory
> > /usr/demo/ksh/dtrace/ Uncommited demo directory
> > /usr/demo/ksh/functions/ Uncommited demo directory
> > /usr/demo/ksh/misc/ Uncommited demo directory
> > /usr/demo/ksh/shdbx/ Uncommited demo directory
> > /usr/lib/libsum.so.1 Project Private AT&T hash generation library
> > /usr/lib/amd64/libsum.so.1 Project Private AT&T hash generation library
> > /usr/lib/sparcv9/libsum.so.1 Project Private AT&T hash generation library
> > <shbinexec binary format> Commited Private binary shell script file
> > format
> > <shcomp -D output> Volatile output for l10n catalog
> > generation
> > <new C99 math functions> Commited C99 math functions
> >
> > ### Part 1: Update of ksh93 from upstream release ast-ksh.2007-04-18 to
> > ast-ksh.2007-12-01
> >
> > ## Part 1.1: Update of ksh93
> > The 1.1 portion of this project is the update of ksh93 from
> > ast-ksh.2007-04-18 to ast-ksh-2007-12-15 which marks the update from
> > ksh93 version 's-' to version 's+'.
> >
> > ## Part 1.2: Update the /usr/bin/bg, /usr/bin/cd,
> > /usr/bin/command, /usr/bin/fc, /usr/bin/fg, /usr/bin/getopts
> > /usr/bin/hash, /usr/bin/jobs, /usr/bin/kill
> > /usr/bin/read, /usr/bin/test, /usr/bin/type
> > /usr/bin/ulimit, /usr/bin/umask, /usr/bin/unalias
> > /usr/bin/wait from ksh88 to ksh93
> > The 1.2 portion of this project switches the built-in command
> > wrappers (the commands are plain shell script wrappers which invoke
> > the built-in command of the same name)
> > /usr/bin/bg, /usr/bin/cd is the update of /usr/bin/command,
> > /usr/bin/fc, /usr/bin/fg, /usr/bin/getopts, /usr/bin/hash,
> > /usr/bin/jobs, /usr/bin/kill, /usr/bin/read, /usr/bin/test,
> > /usr/bin/type, /usr/bin/ulimit, /usr/bin/umask, /usr/bin/unalias and
> > /usr/bin/wait from /usr/bin/ksh to /usr/bin/ksh93
> >
> > Notes:
> > - /usr/bin/test now support high-resolution timestamps of up
> > to nanosecond granularity, for filesystems which support them. Any
> > scripts which rely on a behavior like that creating two files in
> > sequential order within less than a second will result in identical
> > timestamps for both files is considered as a bug in the script.
> > - /usr/bin/test now supports 64bit integers, floating point values
> > and floating point constants (like {+Inf, -Inf, +NaN, -NaN}) (in all
> > representations required by C99/XPG6/SUS) for numeric comparisations.
> > - The output of "/usr/bin/ulimit -a" has changed in incompatible ways,
> > e.g. previously a two-column output was used while now a three-column
> > is printed.
> > However the output of "/usr/bin/ulimit -a" is considered as "not an
> > interface", e.g. it is only thought for informative purposes and not
> > a scripting interface (this interpretation is supported by trhe detail
> > that the output doesn't use things like TAB for formatting, that
> > almost every shell defines it's own "ulimit -a" output format,
> > that even adding new options would break the output anyway and that
> > the ulimit(1) manual page only lists the "-f" option as supported by
> > /usr/bin/ulimit (i.e. the option "-a" was undocumented for
> > /usr/bin/ulimit (which contradicts "Example 1" in the manual page
> > which shows the output of "ulimit -a"))).
> > The output of other /usr/bin/ulimit options is not affected and remains
> > compatible.
> > - These special built-ins are available as standalone files because
> > the POSIX people did make a decision long ago that all
> > "special shell"-builtins defined in the standard must be "exec"-able -
> > sounds weired but there are some border-cases where this is useful (for
> > example you can bind such a built-in to a path like /usr/bin/cd which
> > would execute the "cd" command only if the PATH lookup hits /usr/bin/).
> > - /usr/bin/kill now handles the number of realtime signals at runtime
> > based on the "getconf" value of |_POSIX_RTSIG_MAX|&co. - the old
> > version of /usr/bin/kill used a hardcoded number of realtime signals
> > defined at compile time (the current number of realtime signals
> > supported in /usr/bin/kill will not change between the old and new
> > version - the change will occur when the number of realtime signals
> > supported by the kernel will be changed).
> > - The output of "/usr/bin/kill -l" now uses a newline as delimiter for
> > signal names while the old version used a space. This is not
> > considered an interface change since both the Solaris manual page
> > and the standards explicitly allow either newline or space as
> > delimiter.
> >
> > ## Part 1.3: New ksh93 math functions based on C99
> > The 1.3 portion of this project is the addition of new functions which
> > can be used within arithmetic expressions like (( expressions ))
> > These functions work identically to those defined for the "C" language
> > in the C99 standard (the ksh93 originally supported only "abs", "acos",
> > "asin", "atan", "cos", "cosh", "exp", "int", "log", "sin", "sinh",
> > "sqrt", "tan" and "tanh" as described in ksh93(1) - we extend this list
> > to those functions required by the C99 standard)
> > (note that this functionality is already present in the ksh93 version we
> > ship, e.g. we only increase the stablity level from "easter egg"
> > (="undocumented") to "commited"):
> >
> > Function name | Prototype | see manual page
> > ---------------+--------------------------------------+-----------------
> > acos | float acos(float) | acos(3m)
> > acosh | float acosh(float) | acosh(3m)
> > asin | float asin(float) | asin(3m)
> > asinh | float asinh(float) | asinh(3m)
> > atan | float atan(float) | atan(3m)
> > atan2 | float atan2(float, float) | atan2(3m)
> > atanh | float atanh(float) | atanh(3m)
> > cbrt | float cbrt(float) | cbrt(3m)
> > copysign | float copysign(float, float) | copysign(3m)
> > cos | float cos(float) | cos(3m)
> > cosh | float cosh(float) | cosh(3m)
> > erf | float erf(float) | erf(3m)
> > erfc | float erfc(float) | erfc(3m)
> > exp | float exp(float) | exp(3m)
> > exp2 | float exp2(float) | exp2(3m)
> > expm1 | float expm1(float) | expm1(3m)
> > fabs | float fabs(float) | fabs(3m)
> > abs | float abs(float) | abs(3c)
> > fdim | float fdim(float, float) | fdim(3m)
> > finite | float finite(float) | finite(3c)
> > floor | float floor(float) | floor(3m)
> > int | float int(float) |<no manual page>
> > fma | float fma(float, float, float)| fma(3m)
> > fmax | float fmax(float, float) | fmax(3m)
> > fmin | float fmin(float, float) | fmin(3m)
> > fmod | float fmod(float, float) | fmod(3m)
> > fpclassify | integer fpclassify(float) | fpclassify(3m)
> > hypot | float hypot(float, float) | hypot(3m)
> > ilogb | integer ilogb(float) | ilogb(3m)
> > isfinite | integer isfinite(float) | isfinite(3m)
> > isgreater | integer isgreater(float, float)| isgreater(3m)
> > isgreaterequal | integer isgreaterequal(float, float)| isgreaterequal(3m)
> > isinf | integer isinf(float) | isinf(3m)
> > isless | integer isless(float, float) | isless(3m)
> > islessequal | integer islessequal(float, float) | islessequal(3m)
> > islessgreater | integer islessgreater(float, float) | islessgreater(3m)
> > isnan | integer isnan(float) | isnan(3m)
> > isnormal | integer isnormal(float) | isnormal(3m)
> > isunordered | integer isunordered(float, float)| isunordered(3m)
> > lgamma | float lgamma(float) | lgamma(3m)
> > log | float log(float) | log(3m)
> > log1p | float log1p(float) | log1p(3m)
> > log2 | float log2(float) | log2(3m)
> > logb | float logb(float) | logb(3m)
> > nearbyint | float nearbyint(float) | nearbyint(3m)
> > nextafter | float nextafter(float, float) | nextafter(3m)
> > nexttoward | float nexttoward(float, float)| nexttoward(3m)
> > pow | float pow(float, float) | pow(3m)
> > remainder | float remainder(float, float) | remainder(3m)
> > rint | float rint(float) | rint(3m)
> > round | float round(float) | round(3m)
> > scalb | float scalb(float, float) | scalb(3m)
> > scalbn | float scalbn(float, float) | scalbn(3m)
> > signbit | integer signbit(float) | signbit(3m)
> > sin | float sin(float) | sin(3m)
> > sinh | float sinh(float) | sinh(3m)
> > sqrt | float sqrt(float) | sqrt(3m)
> > tan | float tan(float) | tan(3m)
> > tanh | float tanh(float) | tanh(3m)
> > tgamma | float tgamma(float) | tgamma(3m)
> > trunc | float trunc(float) | trunc(3m)
> > (note: the datatypes "integer" and "float" refer to the "integer" and
> > "float" datatypes in ksh93 scripts, not those in the "C" language)
> >
> > ## Part 1.4: Enable built-ins "sync", "mkfifo", "tty" and "logname" by
> > default
> > The 1.4 portion of this project specifies to enable a set of
> > already existing built-ins by default: The "sync" built-in which
> > works exactly like /sbin/sync and is bound to /usr/bin/sync,
> > /usr/sbin/sync and /sbin/sync, a "mkfifo" built-in which is bound
> > to /usr/bin/mkfifo, a "tty" built-in which is bound to
> > /usr/bin/tty and a "logname" built-in which is bound to
> > /usr/bin/logname
> > The invocation behavior is like other built-in commands named in
> > PSARC/2006/550, e.g. the built-in "sync" in ksh93 will only be invoked
> > if called with no pathname prefix, and if a /usr/bin/sync,
> > /usr/sbin/sync or /sbin/sync executable is found first on the user's path
> > and the "mkfifo", "tty" and "logname" built-ins work the same way.
> >
> > ## Part 1.5: New directories in /usr/demo/ksh/
> > Part 1.5 adds new directories to the /usr/demo/ksh/ directory hierarchy,
> > namely:
> > - /usr/demo/ksh/dtrace/
> > - /usr/demo/ksh/apps/
> > - /usr/demo/ksh/functions/
> > - /usr/demo/ksh/doc/
> > - /usr/demo/ksh/shdbx/
> > - /usr/demo/ksh/misc/
> >
> > ## Part 1.6: New messaging catalog files for ksh libraries
> > Part 1.6 adds two new message catalogs:
> > usr/lib/locale/C/LC_MESSAGES/libpp
> > usr/lib/locale/C/LC_MESSAGES/libsum
> >
> > ## Part 1.7: Enable "multiline" input mode by default for interactive shells
> > The 1.7 portion of this project specifies to enable the "multiline"
> > input mode in "/etc/ksh.kshrc" (see PSARC/2006/587 for details about
> > "/etc/ksh.kshrc") to improve end-user usabilty. The "multiline" input
> > mode to edit lines longer than the terminal's width in multiple lines
> > (similar to the behaviour of bash version 3 and other libreadline-based
> > applications (the previous default was to edit longer lines in a
> > single, horizontally scrolling line).
> > The change will only be enabled together with the "gmacs" editor mode
> > (see PSARC/2006/587) for interactive shells which source
> > "/etc/ksh.kshrc" as part of the shell startup and when the terminal
> > is capable of supporting this mode. This setting can always be
> > overridden by per-user settings in ${HOME}/.kshrc
> >
> > ## Part 1.8: Enable default prompt (PS1) for interactive shells
> > The 1.8 portion of this project specifies to define a default prompt
> > (PS1) in "/etc/ksh.kshrc" for interactive ksh93 shell sessions to
> > improve end-user usabilty if the user did not specify a value for PS1
> > using the environment. The prompt should be set to a
> > value which displays the username, hostname and current working directory
> > (limited to 20 characters, if the CWD is longer than 20 characters
> > the shell will display an ellipsis ("...") for the charcters omitted at the
> > left side) and a "$ "-seperator for normal users and "# " with the login
> > name "root" (this follows the default of SuSE Linux, Ubuntu and aims at
> > improving the usalibity for novice unix users), e.g. setting the value of
> > PS1 will result in the following prompt (for user "gisburn" on machine
> > "jupiterb48" with CWD="/home/gisburn/solaris/"):
> > -- snip --
> > gisburn at jupiterb48:~/solaris$
> > -- snip --
> > Notes:
> > - /etc/ksh.kshrc will only set the prompt value if no value for PS1
> > exists yet
> > - A user can override the value for PS1 in his/her own ${HOME}/.kshrc
> > file (for interactive shells /etc/ksh.kshrc will be sourced first,
> > followed by ${HOME}/.kshrc (see PSARC/2006/587))
> > - The change cannot be implemented in ksh93 itself because this would
> > violate the standard.
> >
> > #### Part 2: Enhancement of /usr/bin/printf
> > The 2nd part of this project specifies an enhancement to
> > /usr/bin/printf and based on the AT&T AST "printf" command.
> > The AT&T version of the "printf" utility
> > provides better standards conformance including C99/XPG6-features,
> > extensions not present in the current Solaris "printf" and is completely
> > open-source.
> >
> > Notes:
> > - The integer limit for printf has been changed from 32bit to 64bit, e.g.
> > the previous version of /usr/bin/printf would return an error for values
> > larger than INT32_MAX or lower than INT32_MIN, for example
> > $ /usr/bin/printf "%d\n" 2147483648 ; echo "exit code=$?"
> > would result in the following error:
> > -- snip --
> > printf: 2147483648: Result too large
> > 147483647
> > exit code=1
> > -- snip --
> > The new version now correctly prints:
> > -- snip --
> > 2147483648
> > exit code=0
> > -- snip --
> > - The manual page now explicitly describes the "printf" behavior for
> > unrecognized format specifiers (following '%') as "undefined".
> > - The manual page now explicitly describes the "printf" behavior for
> > unrecognized escape sequences specifiers (the character following a
> > backslash ('\')) as "undefined".
> > - The manual page now lists sign handling explicitly (e.g. support
> > for negative NaN per IEEE 754&co.)
> > - The manual page originally said:
> > -- snip --
> > For compatibility with previous versions of SunOS 5.x, the $
> > format specifier is supported for formats containing only %s
> > specifiers.
> > -- snip --
> > ... however the matching support for this seems to be broken since
> > several releases, we're therefore dropping this part and fully support
> > "%n$"&co. for all formats for standards conformance.
> > - An addition to the ksh93 test suite will gurantee that
> > /usr/bin/printf will work as defined in this ARC case.
> >
> > #### Part 3: Enhancement of /usr/bin/sleep
> > The 3rd part of this project specifies an enhancement to
> > /usr/bin/sleep and based on the AT&T AST "sleep" command.
> > The AT&T version of the "sleep" utility
> > provides support sub-second timeouts and C99/XPG6-based input
> > values (including special values such as "Inf"/"Infinite")
> >
> > #### Part 4: The addition of /usr/bin/rev
> > The 4th part of this project specifies a new utility called
> > "/usr/bin/rev" which is used to reverse the characters or lines
> > of one or more files.
> >
> > Like other built-in commands named in PSARC/2006/550, the "rev"
> > built-in in ksh93 will be bound to the /usr/bin/ pathname. The built-in
> > "rev" in ksh93 will only be invoked if called with no pathname
> > prefix, and if a /bin/rev or /usr/bin/rev executable is found
> > first on the user's path.
> >
> > The stability of the "rev" command and built-in command-line interface
> > and the system variables documented in rev(1) is "Committed"; the
> > pathname binding of the ksh93 built-in to /bin is Volatile.
> >
> > #### Part 5: Enhancement of /usr/bin/sum
> > The 5th part of this project specifies an enhancement to
> > /usr/bin/sum and a new ksh93 built-in with the same name based on
> > the AT&T AST "sum" command. The AT&T version of the "sum" utility
> > provides extensions not present in the current Solaris "sum"
> > utility, which are useful for small applications to generate hash
> > sums (for example using the MD5 hash for MIME "Content-MD5:"-headers).
> >
> > Like other built-in commands named in PSARC/2006/550, the "sum"
> > built-in in ksh93 will be bound to the /usr/bin/ pathname. The built-in
> > "sum" in ksh93 will only be invoked if called with no pathname
> > prefix, and if a /bin/sum or /usr/bin/sum executable is found
> > first on the user's path.
> >
> > The stability of the "sum" command and built-in command-line interface
> > and the system variables documented in sum(1) is "Committed"; the
> > pathname binding of the ksh93 built-in to /bin is Volatile.
> >
> > An addition to the ksh93 test suite will gurantee compatibilty between
> > previous versions of the /usr/bin/sum utillity and the new version.
> >
> > #### Part 6: Add AT&T "shcomp" (shell script compiler) and "shbinexec"
> > kernel module
> > ## Part 6.1: Addition of AT&T "shcomp" (shell script compiler)
> > The 6.1 part of this project is the addition of AT&T's "shcomp"
> > utility as /usr/bin/shcomp which has multiple goals:
> > 1. serve as basis for a future "ksh88 to ksh93"-migration toolkit
> > 2. act as basis for a future "shell lint" tool to provide a way to test
> > shell scripts like Sun Studio's "lint"
> > 3. extract localiseable strings from shell scripts (using option "-D")
> > 4. compile (ksh93) shell scripts into a compact, portable and
> > platform/ISA/endian-independent binary format which can be read by ksh93
> > (for example this would allow vendors to ship binary code if they
> > cannot release the code as source or "shrink" shell scripts to the
> > absolute minimum for environments like embedded systems or the
> > Solaris miniroot)
> >
> > The stability of the /usr/bin/shcomp command-line interface and the
> > system variables documented in shcomp(1) is "Committed"; the compiled
> > shell code format is "Committed Private" ("shcomp" being the only
> > generator of the format and /usr/bin/ksh93 the only consumer; both
> > share the same code via libshell) and the output of the "-D" option
> > is "Volatile".
> >
> > ## Part 6.2: Addition of kernel module to recognize "shbin" executables
> > Part 6.2 requests the addition of a kernel module to recognize
> > compiled ksh93 shell scripts and execute the ksh93 interpreter if
> > this format is recognized.
> >
> > The conditions to recognize compiled ksh93 shell scripts are:
> > (a) The file must have the "x" (=executable) flag set
> > and
> > (b) The file content must match the signature (starting at byte 0)
> > \013\023\010\000 (which are the ASCII charatcers { 'k', 's', 'h',
> > '\0', ... } masked through a binary AND operation using the value
> > 37 as 2nd operand).
> >
> > Notes:
> > - The format includes a version specifer but the kernel
> > module will leave all version/consistency/etc.-checkin to ksh93
> > itself
> > - /etc/magic will be updated that /usr/bin/file and
> > /usr/xpg4/bin/file will recognize compiled shell code.
> >
> >
> >
> > ------------------------------------------------------------------------
> > # Manpage diff for cd
> > No differences encountered
> > # Manpage diff for jobs
> > No differences encountered
> > # Manpage diff for kill
> > --- kill.1.original.txt Tue Dec 4 16:53:05 2007
> > +++ kill.1.new.txt Tue Dec 4 21:33:44 2007
> > @@ -283,12 +283,14 @@
> >
> > ksh93
> > ____________________________________________________________
> > - | ATTRIBUTE TYPE | ATTRIBUTE VALUE |
> > - |______________________________|______________________________|
> > - | Availability | SUNWcsu |
> > - |______________________________|______________________________|
> > - | Interface Stability | Uncommitted |
> > - |______________________________|______________________________|
> > + | ATTRIBUTE TYPE | ATTRIBUTE VALUE |
> > + |______________________________|____________________________|
> > + | Availability | SUNWcsu |
> > + |______________________________|____________________________|
> > + | CSI | enabled |
> > + |______________________________|____________________________|
> > + | Interface Stability | Uncommitted |
> > + |______________________________|____________________________|
> >
> > SEE ALSO
> > csh(1), jobs(1), ksh(1), ksh93(1), ps(1), sh(1), shell_builtins(1),
> > @@ -296,6 +298,10 @@
> > butes(5), environ(5), standards(5)
> >
> > NOTES
> > + /usr/bin/kill
> > + The number of realtime signals supported is defined by the
> > + getconf value _POSIX_RTSIG_MAX.
> > +
> > sh
> > The Bourne shell, sh, has a built-in version of kill to pro-
> > vide the functionality of the kill command for processes
> > # Manpage diff for logname
> > --- logname.1.original.txt Fri Oct 19 08:24:45 2007
> > +++ logname.1.new.txt Fri Oct 19 09:08:57 2007
> > @@ -9,9 +9,14 @@
> > logname - return user's login name
> >
> > SYNOPSIS
> > - logname
> > + /usr/bin/logname
> >
> > + ksh93
> > + logname
> > +
> > DESCRIPTION
> > + /usr/bin/logname
> > +
> > The logname utility will write the user's login name to
> > standard output. The login name is the string that would be
> > returned by the getlogin(3C) function. Under the conditions
> > @@ -19,6 +24,15 @@
> > message to standard error and exit with a non-zero exit
> > status.
> >
> > + ksh93
> > + logname
> > +
> > + logname writes the users's login name to standard output.
> > + The login name is the string that is returned by the
> > + getlogin(2) function. If getlogin(2) does not return
> > + successfully, the corresponding to the real user id of the
> > + calling process is used instead.
> > +
> > ENVIRONMENT VARIABLES
> > See environ(5) for descriptions of the following environment
> > variables that affect the execution of logname: LANG,
> > # Manpage diff for mkfifo
> > --- mkfifo.1.original.txt Fri Oct 19 08:27:33 2007
> > +++ mkfifo.1.new.txt Fri Oct 19 09:06:41 2007
> > @@ -11,7 +11,12 @@
> > SYNOPSIS
> > /usr/bin/mkfifo [-m mode] path...
> >
> > + ksh93
> > + mkfifo [ options ] file ...
> > +
> > DESCRIPTION
> > + /usr/bin/mkfifo
> > +
> > The mkfifo utility creates the FIFO special files named by
> > its argument list. The arguments are taken sequentially, in
> > the order specified; and each FIFO special file is either
> > @@ -28,7 +33,13 @@
> > a=rw, modified by the current value of the file mode crea-
> > tion mask umask(1).
> >
> > + ksh93
> > +
> > + mkfifo creates one or more FIFO's. By default, the mode of
> > + created FIFO is a=rw minus the bits set in the umask(1).
> > +
> > OPTIONS
> > + /usr/bin/ksh93
> > The following option is supported:
> >
> > -m mode Sets the file permission bits of the newly-created
> > @@ -38,6 +49,10 @@
> > strings, the op characters + and - will be inter-
> > preted relative to an assumed initial mode of a=rw.
> >
> > + ksh93
> > + -m, --mode=mode Set the mode of created FIFO to mode. mode
> > + is symbolic or octal mode as in chmod(1). Relative
> > + modes assume an initial mode of a=rw.
> >
> >
> > OPERANDS
> > # Manpage diff for printf
> > --- printf.1.original.txt Thu Nov 22 15:29:21 2007
> > +++ printf.1.new.txt Mon Dec 3 17:46:47 2007
> > @@ -17,16 +17,11 @@
> > DESCRIPTION
> >
> > /usr/bin/printf
> > - The /usr/bin/printf command writes formatted operands to the standard
> > - output. The _a_r_g_u_m_e_n_t operands are formatted under control of
> > - the _f_o_r_m_a_t operand.
> > -
> > - ksh93
> > printf writes each string operand to standard output using format to
> > control
> > the output format.
> >
> > - The format operands supports the full range of ANSI C formatting
> > specifiers
> > - plus the following additional specifiers:
> > + The format operands supports the full range of ANSI C/C99/XPG6
> > formatting
> > + specifiers plus the following additional specifiers:
> > %b Each character in the string operand is processed specially as
> > follows:
> > \a Alert character.
> > @@ -69,7 +64,7 @@
> > will continue to be processed.
> >
> > In addition to the format specifier extensions, the following
> > extensions of
> > - ANSI-C are permitted in format specifiers:
> > + ANSI C/C99/XPG6 are permitted in format specifiers:
> > - The escape sequences \E and \e expand to the escape character
> > which
> > is octal 033 in ASCII.
> > - The escape sequence \cx expands to Control-x.
> > @@ -96,8 +91,8 @@
> > were supplied, numeric conversions will be treated as if 0 were
> > supplied, and
> > time conversions will be treated as if now were supplied.
> >
> > - printf is equivalent to print -f which allows additional options to be
> > - specified.
> > + /usr/bin/printf is equivalent to ksh93's "printf" built-in and print -f
> > which
> > + allows additional options to be specified.
> >
> > OPERANDS
> > The following operands are supported for /usr/bin/printf:
> > @@ -258,17 +253,12 @@
> > Notice that this printf utility, like the printf(3C) func-
> > tion on which it is based, makes no special provision for
> > dealing with multi-byte characters when using the %c conver-
> > - sion specification or when a precision is specified in a %b
> > - or %s conversion specification. Applications should be
> > - extremely cautious using either of these features when there
> > + sion specification. Applications should be extremely
> > + cautious using either of these features when there
> > are multi-byte characters in the character set.
> >
> > Field widths and precisions cannot be specified as *.
> >
> > - For compatibility with previous versions of SunOS 5._x, the $
> > - format specifier is supported for formats containing _o_n_l_y %s
> > - specifiers.
> > -
> > The %b conversion specification is not part of the ISO C
> > standard; it has been added here as a portable way to pro-
> > cess backslash escapes expanded in string operands as pro-
> > @@ -430,6 +420,106 @@
> > writes the value accumulated at the time the error was
> > detected to standard output.
> >
> > +
> > + Example 6: Alternative floating point representation 1:
> > + The printf utility supports an alternative floating point
> > representation
> > + (see printf(3c) manual page's entry for the "%a"/"%A") which allows
> > + the output of floating-point values in a format which avoids the the
> > + usual base16 to base10 rounding errors.
> > +
> > + example% printf "%a\n" 2 3.1 NaN
> > +
> > + produces:
> > +
> > + 0x1.0000000000000000000000000000p+01
> > + 0x1.8ccccccccccccccccccccccccccdp+01
> > + nan
> > +
> > +
> > + Example 7: Alternative floating point representation 2:
> > + The following example shows two different representations of the
> > + same floating-point value:
> > +
> > + example% x=2 ; printf "%f == %a\n" x x
> > +
> > + produces:
> > +
> > + 2.000000 == 0x1.0000000000000000000000000000p+01
> > +
> > +
> > + Example 8: Output of unicode values
> > + The following command will print the EURO unicode symbol (code-point
> > 0x20ac)
> > + example% LC_ALL=en_US.UTF-8 printf "\u[20ac]\n"
> > +
> > + produces:
> > +
> > + <euro>
> > + (where "<euro>" represents the EURO currency symbol character)
> > +
> > +
> > + Example 9: Convert unicode character to unicode code-point value:
> > + The following command will print the hexadecimal value of a given
> > + character.
> > +
> > + example% export LC_ALL=en_US.UTF-8
> > + example% printf "%x\n" "'<euro>"
> > + (where "<euro>" represents the EURO currency symbol character
> > + (code-point 0x20ac))
> > +
> > + produces:
> > +
> > + 20ac
> > +
> > +
> > + Example 10: Print the numeric value of an ASCII character:
> > + printf "%d\n" "'A"
> > +
> > + produces:
> > +
> > + 65
> > +
> > +
> > + Example 11: To print the language-independent date and time
> > + format, the following statement could be used:
> > +
> > + printf "format" weekday month day hour min
> > + (e.g. $ printf format "Sunday" "July" 3 10 2
> > +
> > + For American usage, format could be the string:
> > +
> > + "%s, %s %d, %d:%.2d\n"
> > +
> > + producing the message:
> > +
> > + Sunday, July 3, 10:02
> > +
> > + whereas for EU usage, format could be the string:
> > +
> > + "%1$s, %3$d. %2$s, %4$d:%5$.2d\n"
> > + (note that the '$' charatcers must be propperly escaped, e.g.
> > + "%1\$s, %3\$d. %2\$s, %4\$d:%5\$.2d\n" in this case)
> > +
> > + producing the message:
> > +
> > + Sunnday, 3. July, 10:02
> > +
> > +
> > +NOTES
> > + Using format specifiers (characters following '%') which are not
> > listed
> > + in the printf(3c) or this manual page will result in undefined
> > behaviour.
> > +
> > + Using escape sequences (the character following a backslash ('\'))
> > which
> > + are not listed in the printf(3c) or this manual page will result in
> > + undefined behaviour.
> > +
> > + Floating-point values follow C99, XPG6 and IEEE 754 standard behaviour
> > + and and can handle values the same way as the platform's |long double|
> > + datatype.
> > +
> > + Floating-point values handle the sign seperately which allows signs
> > + for values like NaN (i.e. -nan), Infinite (i.e. -inf) and zero
> > + (i.e. -0.0).
> > +
> > ENVIRONMENT VARIABLES
> > See environ(5) for descriptions of the following environment
> > variables that affect the execution of printf: LANG, LC_ALL,
> > # Manpage diff for read
> > No differences encountered
> > # Manpage diff for rev
> > --- /dev/null Wed Dec 12 19:07:34 2007
> > +++ rev.1.new.txt Fri Nov 30 00:45:55 2007
> > @@ -1,0 +1,42 @@
> > +NAME
> > + rev - reverse the characters or lines of one or more files
> > +
> > +SYNOPSIS
> > + /usr/bin/rev [-l] [file ...]
> > +
> > + ksh93
> > + rev [-l] [file ...]
> > +
> > +DESCRIPTION
> > + rev copies one or more files to standard output reversing the
> > + order of characters on every line of the file or reversing
> > + the order of lines of the file if -l is specified.
> > +
> > + If no file is given, or if the file is -, rev copies from
> > + standard input starting at the current offset.
> > +
> > +OPTIONS
> > + -l, --line Reverse the lines of the file.
> > +
> > +EXIT STATUS
> > + 0 All files copied successfully.
> > + >0 One or more files did not copy.
> > +
> > +ATTRIBUTES
> > + See attributes(5) for descriptions of the following attri-
> > + butes:
> > +
> > + /usr/bin/rev
> > + ____________________________________________________________
> > + | ATTRIBUTE TYPE | ATTRIBUTE VALUE |
> > + |_____________________________|_____________________________|
> > + | Availability | SUNWcsu |
> > + |_____________________________|_____________________________|
> > + | CSI | Enabled |
> > + |_____________________________|_____________________________|
> > + | Interface Stability | Commited |
> > + |_____________________________|_____________________________|
> > +
> > +
> > +SEE ALSO
> > + cat(1), tail(1)
> > # Manpage diff for shcomp
> > --- /dev/null Wed Dec 12 19:07:34 2007
> > +++ shcomp.1.new.txt Fri Nov 30 00:43:23 2007
> > @@ -1,0 +1,66 @@
> > +NAME
> > + shcomp - compile a ksh93 shell script
> > +
> > +SYNOPSIS
> > + shcomp [-nv] [infile [outfile]]
> > +
> > + shcomp -D [infile [outfile]]
> > +
> > +DESCRIPTION
> > + Unless -D is specified, shcomp takes a shell script, infile,
> > + and creates a binary format file, outfile, that ksh93 can read
> > + and execute with the same effect as the original script.
> > +
> > + Since aliases are processed as the script is read, alias
> > + definitions whose value requires variable expansion will not
> > + work correctly.
> > +
> > + If -D is specifed, all double quoted strings that are preceded
> > + by $ are printed, one literal per line, e.g. a literal $"foo"
> > + will be printed as "foo" in the output
> > + These are the messages that need to be translated to locale
> > + specific versions for internationalization.
> > +
> > + If outfile is omitted, both modes will write their results
> > + to standard output. If infile is also omitted, the
> > + shell script will be read from standard input.
> > +
> > +OPTIONS
> > + -D, --dictionary
> > + Generate a list of strings that need to be
> > + placed in a message catalog for
> > + internationalization.
> > + -n, --noexec Displays warning messages for obsolete or
> > + non-conforming constructs.
> > + -v, --verbose Displays input from infile onto standard error
> > + as it reads it.
> > +
> > +EXIT STATUS
> > + 0 Successful completion.
> > + >0 An error occurred.
> > +
> > +ATTRIBUTES
> > + See attributes(5) for descriptions of the following attri-
> > + butes:
> > +
> > + /usr/bin/shcomp
> > + ____________________________________________________________
> > + | ATTRIBUTE TYPE | ATTRIBUTE VALUE |
> > + |_____________________________|_____________________________|
> > + | Availability | SUNWcsu |
> > + |_____________________________|_____________________________|
> > + | CSI | Enabled |
> > + |_____________________________|_____________________________|
> > + | Interface Stability | See below |
> > + |_____________________________|_____________________________|
> > +
> > +
> > + The stability of the /usr/bin/shcomp command-line interface
> > + and thesystem variables documented in shcomp(1) is "Committed";
> > + the compiled shell code format is "Committed Private" ("shcomp"
> > + being the only generator of the format and /usr/bin/ksh93 the
> > + only consumer; both share the same code via libshell) and
> > + the output of the "-D" option is "Volatile".
> > +
> > +SEE ALSO
> > + ksh93(1)
> > # Manpage diff for sleep
> > --- sleep.1.original.txt Thu Nov 22 17:21:44 2007
> > +++ sleep.1.new.txt Fri Nov 23 20:20:45 2007
> > @@ -9,7 +9,7 @@
> > sleep - suspend execution for an interval
> >
> > SYNOPSIS
> > - /usr/bin/sleep _t_i_m_e
> > + /usr/bin/sleep _seconds_
> >
> > ksh93
> > sleep _seconds_
> > @@ -16,11 +16,6 @@
> >
> > DESCRIPTION
> >
> > - /usr/bin/sleep
> > - The sleep utility will suspend execution for at least the
> > - integral number of seconds specified by the _t_i_m_e operand.
> > -
> > - ksh93
> > sleep suspends execution for at least the time specified by seconds or
> > until
> > a SIGALRM signal is received. seconds can be specifed as a floating
> > point
> > number but the actual granularity depends on the underlying system,
> > normally
> > @@ -28,10 +23,14 @@
> >
> >
> > OPERANDS
> > - The following operands are supported for /usr/bin/sleep:
> > + The following operands are supported for /usr/bin/sleep and ksh93's
> > + "sleep" built-in command:
> >
> > - _t_i_m_e A non-negative decimal integer specifying the
> > + _t_i_m_e A non-negative floating-point number specifying the
> > number of seconds for which to suspend execution.
> > + The floating-point number may be specified in all formats
> > + required by C99/XPG6, including constants such as "Inf" or
> > + "infinite".
> >
> >
> >
> > @@ -50,6 +49,20 @@
> > sleep 37
> > done
> >
> > + Example 2: Suspending command execution forever (or until a SIGALRM
> > + signal is received):
> > +
> > + example% sleep Inf
> > +
> > +
> > + Example 3: Suspending command execution for 0.5 seconds using
> > + an alternative floating-point representation for the value "0.5":
> > +
> > + example% printf "%a\n" 0.5
> > + 0x1.0000000000000000000000000000p-01
> > +
> > + example% sleep 0x1.0000000000000000000000000000p-01
> > +
> > ENVIRONMENT VARIABLES
> > See environ(5) for descriptions of the following environment
> > variables that affect the execution of sleep: LANG, LC_ALL,
> > @@ -121,9 +134,10 @@
> > The sleep utility will take the standard action for all
> > other signals.
> >
> > + The behaviour for input values such as "NaN" (not-a-number) or
> > negative
> > + values is undefined.
> >
> >
> > -
> >
> >
> >
> > # Manpage diff for sum
> > --- sum.1.original.txt Fri Oct 19 03:49:51 2007
> > +++ sum.1.new.txt Fri Dec 14 18:55:36 2007
> > @@ -9,22 +9,229 @@
> > sum - print checksum and block count for a file
> >
> > SYNOPSIS
> > - sum [-r] [file...]
> > + /usr/bin/sum [-abBchHlLpPrRstTw] [-x method] [file...]
> >
> > + ksh93
> > + sum [-abBchHlLpPrRstTw] [-x method] [file...]
> > +
> > DESCRIPTION
> > - The sum utility calculates and prints a 16-bit checksum for
> > - the named file and the number of 512-byte blocks in the
> > - file. It is typically used to look for bad spots, or to
> > - validate a file communicated over some transmission line.
> > + /usr/bin/sum
> > + ksh93 "sum"
> > + The sum command and ksh93 built-in command "sum" lists the
> > + checksum, and for most methods the block count, for each file
> > + argument. The standard input is read if there are no file
> > + arguments.
> > + getconf UNIVERSE determines the default
> > + sum method: att for the att universe, bsd otherwise. The
> > + default for the other commands is the command name itself. The
> > + att method is a true sum, all others are order dependent.
> >
> > -OPTIONS
> > - The following options are supported:
> > + Method names consist of a leading identifier and 0 or more
> > + options separated by -.
> >
> > - -r Use an alternate (machine-dependent) algorithm in
> > - computing the checksum.
> > + getconf PATH_RESOLVE determines how symbolic links are
> > + handled. This can be explicitly overridden by the --logical,
> > + --metaphysical, and --physical options below. PATH_RESOLVE can
> > + be one of:
> > + logical
> > + Follow all symbolic links.
> > + metaphysical
> > + Follow command argument symbolic links, otherwise
> > + don't follow.
> > + physical
> > + Don't follow symbolic links.
> >
> > +OPTIONS
> > + The following options are supported by /usr/bin/sum
> > + -a, --all List the checksum for all files. Use with
> > + --total to list both individual and total
> > + checksums and block counts.
> > + -b, --binary Read files in binary mode. This is the
> > + default.
> > + -B, --scale=scale
> > + Block count scale (bytes per block) override
> > + for methods that include size in the output.
> > + The default is method specific.
> > + -c, --check Each file is interpreted as the output from a
> > + previous sum. If --header or --permissions was
> > + specified in the previous sum then the
> > + checksum method is automatically determined,
> > + otherwise --method must be specified. The
> > + listed checksum is compared with the current
> > + value and a warning is issued for each file
> > + that does not match. If file was generated by
> > + --permissions then the file mode, user and
> > + group are also checked. Empty lines, lines
> > + starting with #<space>, or the line # are
> > + ignored. Lines containing no blanks are
> > + interpreted as [no]name[=value] options:
> > + method=name
> > + Checksum method to apply to subsequent
> > + lines.
> > + permissions
> > + Subsequent lines were generated with
> > + --permissions.
> > + -h, --header Print the checksum method as the first output
> > + line. Used with --check and --permissions.
> > + -l, --list Each file is interpreted as a list of files,
> > + one per line, that is checksummed.
> > + -p, --permissions
> > + If --check is not specified then list the file
> > + mode, user and group between the checksum and
> > + path. User and group matching the caller are
> > + output as -. If --check is specified then the
> > + mode, user and group for each path in file are
> > + updated if necessary to match those in file. A
> > + warning is printed on the standard error for
> > + each changed file.
> > + -R, --recursive Recursively checksum the contents of
> > + directories.
> > + -t, --total List only the total checksum and block count
> > + of all files. --all --total lists each
> > + checksum and the total. The total checksum and
> > + block count may be different from the checksum
> > + and block count of the catenation of all files
> > + due to partial blocks that may occur when the
> > + files are treated separately.
> > + -T, --text Read files in text mode (i.e., treat \r\n as
> > + \n).
> > + -w, --warn Warn about invalid --check lines. On by
> > + default; -w means --nowarn.
> > + -x, --method|algorithm=method
> > + Specifies the checksum method to apply.
> > + Parenthesized method options are readonly
> > + implementation details.
> > + att|sys5|s5|default
> > + The system 5 release 4 checksum. This
> > + is the default for sum when getconf
> > + UNIVERSE is att. This is the only true
> > + sum; all of the other methods are
> > + order dependent.
> > + ast4|32x4|tw
> > + The ast 128 bit PRNG hash generated by
> > + catenating 4 separate 32 bit PNRG
> > + hashes. The block count is not
> > + printed.
> > + bsd|ucb
> > + The BSD checksum.
> > + crc 32 bit CRC (cyclic redundancy check).
> > + polynomial=mask
> > + The 32 bit crc polynomial
> > + bitmask with implicit bit 32.
> > + The default value is
> > + 0xedb88320.
> > + done[=number]
> > + XOR the final crc value with
> > + number. 0xffffffff is used if
> > + number is omitted. The option
> > + value may be omitted. The
> > + default value is 0.
> > + init[=number]
> > + The initial crc value.
> > + 0xffffffff is used if number
> > + is omitted. The option value
> > + may be omitted. The default
> > + value is 0.
> > + rotate
> > + XOR each input character with
> > + the high order crc byte
> > + (instead of the low order).
> > + size[=number]
> > + Include the total number of
> > + bytes in the crc. number, if
> > + specified, is first XOR'd into
> > + the size. The option value may
> > + be omitted. The default value
> > + is 0.
> > + md5|MD5
> > + The RSA Data Security, Inc. MD5
> > + Message-Digest Method, 1991-2, used
> > + with permission. The block count is
> > + not printed.
> > + (version)
> > + md5 (RSA Data Security, Inc.
> > + MD5 Message-Digest, 1991-2)
> > + 1996-02-29
> > + prng 32 bit PRNG (pseudo random number
> > + generator) hash.
> > + mpy=number
> > + The 32 bit PRNG multiplier.
> > + The default value is
> > + 0x01000193.
> > + add=number
> > + The 32 bit PRNG addend. The
> > + default value is 0.
> > + init[=number]
> > + The PRNG initial value.
> > + 0xffffffff is used if number
> > + is omitted. The option value
> > + may be omitted. The default
> > + value is 0x811c9dc5.
> > + sha1|SHA1|sha-1|SHA-1
> > + FIPS 180-1 SHA-1 secure hash algorithm
> > + 1.
> > + (version)
> > + sha1 (FIPS 180-1) 1996-09-26
> > + (author)
> > + Steve Reid <steve at edmweb.com>
> > + sha256|sha-256|SHA256|SHA-256
> > + FIPS SHA-256 secure hash algorithm.
> > + (version)
> > + sha-256 (FIPS) 2000-01-01
> > + (author)
> > + Aaron D. Gifford
> > + sha384|sha-384|SHA384|SHA-384
> > + FIPS SHA-384 secure hash algorithm.
> > + (version)
> > + sha-384 (FIPS) 2000-01-01
> > + (author)
> > + Aaron D. Gifford
> > + sha512|sha-512|SHA512|SHA-512
> > + FIPS SHA-512 secure hash algorithm.
> > + (version)
> > + sha-512 (FIPS) 2000-01-01
> > + (author)
> > + Aaron D. Gifford
> > + posix|cksum|std|standard
> > + The posix 1003.2-1992 32 bit crc
> > + checksum. This is the default cksum(1)
> > + method. Shorthand for
> > + crc-0x04c11db7-rotate-done-size.
> > + zip The zip(1) crc. Shorthand for
> > + crc-0xedb88320-init-done.
> > + fddi The FDDI crc. Shorthand for
> > + crc-0xedb88320-size=0xcc55cc55.
> > + fnv|fnv1
> > + The Fowler-Noll-Vo 32 bit PRNG hash
> > + with non-zero initializer (FNV-1).
> > + Shorthand for
> > + prng-0x01000193-init=0x811c9dc5.
> > + ast|strsum
> > + The ast strsum(3) PRNG hash. Shorthand
> > + for prng-0x63c63cd9-add=0x9c39c33d.
> > + -L, --logical|follow
> > + Follow symbolic links when traversing
> > + directories. The default is determined by
> > + getconf PATH_RESOLVE.
> > + -H, --metaphysical
> > + Follow command argument symbolic links,
> > + otherwise don't follow symbolic links when
> > + traversing directories. The default is
> > + determined by getconf PATH_RESOLVE.
> > + -P, --physical Don't follow symbolic links when traversing
> > + directories. The default is determined by
> > + getconf PATH_RESOLVE.
> > + -r, --bsd Equivalent to --method=bsd --scale=512 for
> > + compatibility with other sum(1)
> > + implementations.
> > + -s, --sysv Equivalent ti --method=sys5 for for
> > + compatibility with other sum(1)
> > + implementations.
> > + -S, --silent|status
> > + No output for --check; 0 exit status means all
> > + sums matched, non-0 means at least one sum
> > + failed to match. Ignored for --permissions.
> >
> > -
> > OPERANDS
> > The following operands are supported:
> >
> > @@ -32,7 +239,6 @@
> > standard input is used.
> >
> >
> > -
> > USAGE
> > See largefile(5) for the description of the behavior of sum
> > when encountering files greater than or equal to 2 Gbyte ( 2
> > @@ -73,14 +279,16 @@
> >
> > ____________________________________________________________
> > | ATTRIBUTE TYPE | ATTRIBUTE VALUE |
> > + |_____________________________|_____________________________|
> > | Availability | SUNWesu |
> > + |_____________________________|_____________________________|
> > | CSI | enabled |
> > |_____________________________|_____________________________|
> >
> >
> > SEE ALSO
> > - cksum(1), sum(1B), wc(1), attributes(5), environ(5), large-
> > - file(5)
> > + cksum(1), ksh93(1), sum(1B), wc(1), attributes(5), environ(5),
> > + largefile(5)
> >
> > DIAGNOSTICS
> > "Read error" is indistinguishable from end of file on most
> > @@ -87,7 +295,9 @@
> > devices; check the block count.
> >
> > NOTES
> > - Portable applications should use cksum(1).
> > + Portable applications should use cksum(1), the default algorithm
> > + for this command is defined in the POSIX standard and identical
> > + across platforms.
> >
> > sum and usr/ucb/sum (see sum(1B)) return different check-
> > sums.
> > # Manpage diff for test
> > --- test.1.original.txt Thu Nov 22 15:28:36 2007
> > +++ test.1.new.txt Fri Nov 23 20:19:14 2007
> > @@ -323,9 +323,11 @@
> >
> >
> >
> > - _n_1 -eq _n_2 True if the integers _n_1 and _n_2 are
> > + _n_1 -eq _n_2 True if the numbers _n_1 and _n_2 are
> > algebraically equal.
> > - (ksh93 also supports floating point numbers.)
> > + A "number" may be integer, floating point or
> > floating-point
> > + constant (such as [+/-]Inf, [+/-]NaN) in any
> > format specified
> > + by C99/XPG6/SUS.
> >
> >
> >
> > @@ -341,34 +343,43 @@
> >
> >
> >
> > - _n_1 -ne _n_2 True if the integers _n_1 and _n_2 are
> > + _n_1 -ne _n_2 True if the numbers _n_1 and _n_2 are
> > not algebraically equal.
> > - (ksh93 also supports floating point numbers.)
> > + A "number" may be integer, floating point or
> > floating-point
> > + constant (such as [+/-]Inf, [+/-]NaN) in any
> > format specified
> > + by C99/XPG6/SUS.
> >
> >
> > - _n_1 -gt _n_2 True if the integer _n_1 is algebrai-
> > - cally greater than the integer _n_2.
> > - (ksh93 also supports floating point numbers.)
> > + _n_1 -gt _n_2 True if the number _n_1 is algebrai-
> > + cally greater than the number _n_2.
> > + A "number" may be integer, floating point or
> > floating-point
> > + constant (such as [+/-]Inf, [+/-]NaN) in any
> > format specified
> > + by C99/XPG6/SUS.
> >
> >
> >
> > - _n_1 -ge _n_2 True if the integer _n_1 is algebrai-
> > + _n_1 -ge _n_2 True if the number _n_1 is algebrai-
> > cally greater than or equal to the
> > - integer _n_2.
> > - (ksh93 also supports floating point numbers.)
> > + number _n_2.
> > + A "number" may be integer, floating point or
> > floating-point
> > + constant (such as [+/-]Inf, [+/-]NaN) in any
> > format specified
> > + by C99/XPG6/SUS.
> >
> >
> > + _n_1 -lt _n_2 True if the number _n_1 is algebrai-
> > + cally less than the number _n_2.
> > + A "number" may be integer, floating point or
> > floating-point
> > + constant (such as [+/-]Inf, [+/-]NaN) in any
> > format specified
> > + by C99/XPG6/SUS.
> >
> > - _n_1 -lt _n_2 True if the integer _n_1 is algebrai-
> > - cally less than the integer _n_2.
> > - (ksh93 also supports floating point numbers.)
> >
> >
> > -
> > - _n_1 -le _n_2 True if the integer _n_1 is algebrai-
> > + _n_1 -le _n_2 True if the number _n_1 is algebrai-
> > cally less than or equal to the
> > - integer _n_2.
> > - (ksh93 also supports floating point numbers.)
> > + number _n_2.
> > + A "number" may be integer, floating point or
> > floating-point
> > + constant (such as [+/-]Inf, [+/-]NaN) in any
> > format specified
> > + by C99/XPG6/SUS.
> >
> >
> >
> > @@ -714,8 +725,8 @@
> > endif
> >
> >
> > - ksh
> > - Example 5: Using the ksh built-in
> > + ksh/ksh93
> > + Example 5: Using the ksh/ksh93 built-in
> >
> > ZERO=0 ONE=1 TWO=$((ONE+ONE)) ROOT=root
> > if ((ONE > ZERO)) # _a_r_i_t_h_m_e_t_i_c_a_l
> > _c_o_m_p_a_r_i_s_o_n
> > @@ -822,13 +833,22 @@
> > sition aid for BSD applications and may not be supported in
> > future releases.
> >
> > - When comparing file timestamps, the ksh93 test built-in
> > - handles high-resolution timestamps of up to nanosecond
> > - granularity, for filesystems which support them.
> > + When comparing file timestamps, the /usr/bin/test and the
> > + ksh93 test built-in handle high-resolution timestamps of up
> > + to nanosecond granularity, for filesystems which support them.
> >
> > + XPG4/sh, ksh, ksh93: Is is recommended to use arithmetric
> > + expressions (e.g. $(( x > 3.1 )) # instead of
> > + $ /usr/bin/test "$x" -gt 3.1 # ) when comparing two floating-point
> > + variables or a constant and a floating-point variable to prevent
> > + rounding errors (caused by the base16 to base10 transformation) to
> > + affect the result. Additionally the built-in arithmetric support
> > + in XPG4/sh, ksh and ksh93 is significantly faster because it
> > + doesn't require the explicit transformation to strings for each
> > + comparisation.
> > +
> >
> >
> > -
> >
> >
> >
> > # Manpage diff for tty
> > --- tty.1.original.txt Fri Oct 19 08:25:13 2007
> > +++ tty.1.new.txt Fri Nov 23 20:20:14 2007
> > @@ -9,15 +9,28 @@
> > tty - return user's terminal name
> >
> > SYNOPSIS
> > - tty [-l] [-s]
> > + /usr/bin/tty [-l] [-s]
> >
> > + ksh93
> > + tty [ options ]
> > +
> > DESCRIPTION
> > + /usr/bin/tty
> > +
> > The tty utility writes to the standard output the name of
> > the terminal that is open as standard input. The name that
> > is used is equivalent to the string that would be returned
> > by the ttyname(3C) function.
> >
> > + ksh93
> > +
> > + The ksh93 tty built-in writes the name of the terminal that
> > + is connected to standard input onto standard output. If the
> > + standard input is not a terminal, "not a tty" will be written
> > + to standard output.
> > +
> > OPTIONS
> > + /usr/bin/tty
> > The following options are supported:
> >
> > -l Prints the synchronous line number to which the
> > @@ -29,8 +42,16 @@
> > -s Inhibits printing of the terminal path name, allow-
> > ing one to test just the exit status.
> >
> > + ksh93
> > + -l, --line-number
> > + Write the synchronous line number of the terminal
> > + on a separate line following the terminal name line.
> > + If the standard input is not a synchronous terminal
> > + then "not on an active synchronous line" is written.
> > + -s, --silent|quiet
> > + Disable the terminal name line.
> > + Portable applications should use [[ -t 0 ]] instead.
> >
> > -
> > ENVIRONMENT VARIABLES
> > See environ(5) for descriptions of the following environment
> > variables that affect the execution of tty: LANG, LC_ALL,
>
> Are there any commets/issues/etc. about this draft or can we move
> forward and submit it ?
>
> ----
>
> Bye,
> Roland
>
> --
> __ . . __
> (o.\ \/ /.o) roland.mainz at nrubsig.org
> \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
> /O /==\ O\ TEL +49 641 7950090
> (;O/ \/ \O;)
> _______________________________________________
> ksh93-integration-discuss mailing list
> ksh93-integration-discuss at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss
>
--
Knut