Skip to content

Commit

Permalink
Version: 2013-10-10-alpha
Browse files Browse the repository at this point in the history
RELEASE notes for src/cmd/INIT/RELEASE

13-09-25 iffe.sh: add _${API}_API_IMPLEMENT guards for implementation code
13-08-11 iffe.sh: executed blocks now have a single argument that is a tmp file prefix
13-08-11 iffe.sh: fix intrinsic function test to rule out type names
13-07-17 iffe.sh: add '^#include.*iffe --include-first' for *.c feature test macro initialization
13-07-17 package.sh: refix 13-06-17 fix to check both $CC and $CCFLAGS
13-06-24 add -lsocket => -lsocket -lnsl for systems that don't have it in -lc
13-06-17 package.sh: fix host type logic to handle -m32/-m64 almost cross-compile
13-05-21 C+probe: add ksh-2013-05-21 `...` hang workaround -- FIXME
13-05-17 package.sh: package make should continue if ksh fails to build
13-05-17 make.probe: fix CC.DIALECT+=EXPORT=DLL logic
13-05-13 MAPLIB.mk: workaround ppcc+bash not handling '-o t t.c'
13-05-01 package.sh: add ``results path old'' for *.out.*
13-03-20 make.probe: add CC.NM.NMFLAGS for stupid stupid stupid aix -Xany
13-03-06 handle incompletely defined types e.g. "typ DIR dirent.h"
12-12-05 C+probe: elide */tmp/* and */probe[0-9]* from stdinclude
12-10-25 ditto.sh: set DITTO_OPTIONS=dst=1 in destination read script
12-09-27 package.sh: fix admin log total logic
12-09-18 cc.ibm.risc: fix -O disable logic that ate next arg
12-09-11 make.probe: fix sunos cc/CC CC.STDLIB probe
12-08-24 iffe.sh: add ``api n1 = n2''

RELEASE notes for src/cmd/builtin/RELEASE

13-09-25 cksum.tst: adjust tests for gnu { md5 sha } text/binary indicator
13-09-22 readlink.rt,realpath.rt: add tests
13-09-19 head.tst,tail.tst: add incomplete line tests
13-07-17 tr.tst: sync with src/lib/libcmd/tr.c
13-05-22 pty.c: fix timeout logic
13-04-22 grep.tst: add --context[=before,after] tests
13-04-03 finally add grep and xargs
13-03-21 who.c: work around stupid stupid stupid solaris 11 - hey guys, don't define _PATH_UTMP and it won't get used
12-11-19 pty.c: change SFSTDERR_FILENO to sffileno(sfstderr)
12-10-24 tr.c: move to src/lib/libcmd
12-10-19 od.c: move to src/lib/libcmd

RELEASE notes for src/cmd/codex/RELEASE

13-08-11 codex.c: add WINDOW=size to usage[]

RELEASE notes for src/cmd/codexlib/bzip/RELEASE

13-09-19 codex.tst: update from obsolete "<meth" and ">meth" to --decode=meth and --encode=meth

RELEASE notes for src/cmd/codexlib/compress/RELEASE

13-09-19 codex.tst: update from obsolete "<meth" and ">meth" to --decode=meth and --encode=meth

RELEASE notes for src/cmd/codexlib/gzip/RELEASE

13-09-19 codex.tst: update from obsolete "<meth" and ">meth" to --decode=meth and --encode=meth
13-07-30 gzip.c: 6 now default compression level (same as gzip(1)) for 5x time savings for negligible size in some cases

RELEASE notes for src/cmd/codexlib/sum/RELEASE

13-09-19 codex.tst: update from obsolete "<meth" and ">meth" to --decode=meth and --encode=meth

RELEASE notes for src/cmd/coshell/RELEASE

13-08-07 NGROUPS_MAX => getconf("NGROUPS_MAX")

RELEASE notes for src/cmd/dss/RELEASE

12-08-15 dss.c: update default struct type output

RELEASE notes for src/cmd/dsslib/bgp/RELEASE

13-10-10 bgp-mrt.c: fix STATE_BGP_TABLE to parse all attr() before nlri()
13-08-28 mrt.h: MRT_ATTR_AIGP_20120425 => MRT_ATTR_AIGP
13-08-28 bgp.c: add BGP_aigp, "aigp_t aigp { values_t aigp }"
13-08-28 bgp-mrt.c: parse MRT_ATTR_AIGP subtype 1
13-04-18 bgp-mrt.c: add mvpn_t.src_as* to the member table -- doh
13-03-21 bgp-mrt.c: fix TABLE_DUMP_V2_RIB* old record data bleed through
13-03-11 bgp-mrt.c: fix mvpn.src_addrv[46] set bit
13-03-09 bgp-mrt.c: adjust debug message size to include common mrt header
12-08-20 bgp-mrt.c: fix bad MCAST_VPN dump data workaround
12-08-15 bgp.c,bgp-mrt.c: elevate struct data to cx struct types
12-08-08 bgp.c,bgp-mrt.c: fix mvpn parse anomalies

RELEASE notes for src/cmd/dsslib/flat/RELEASE

13-08-11 flat.c: strcopy() => stpcpy()
13-03-11 flat.c: fix <RECORD><WIDTH> vs <SIZE> logic
13-03-01 flat.c: fix flatten txt string => bin size+string
12-11-29 flat.c: implement var length format records on output

RELEASE notes for src/cmd/dsslib/ip_t/RELEASE

13-08-28 bgp.h: add BGP_aigp
13-08-28 ip_t.c: add "values_t" uint32_t vector type
13-04-18 bgp.h: add BGP_MVPN_src_as*
13-04-09 ip_t.c: treat undefined unbound generic ip addrd as 0.0.0.0
12-08-11 bgp.h: Bgptunnel_t
12-08-01 bgp.h: mvpn additions

RELEASE notes for src/cmd/dsslib/lsa/RELEASE

12-02-29 add { lsag pmcoa } formats
12-01-15 ospf_lsa.c: handle generic ip address type binding
03-02-07 change "time" to "ns_t" and u_int64 in the canonical record
03-01-31 update rtid doc
03-01-23 update for void* => Dssrecord_t*
02-12-17 propagate -ldss changes
02-11-28 convert from sfprintf to errorf

RELEASE notes for src/cmd/dsslib/xml/RELEASE

12-09-14 dss.tst: update for libast::tmzone fix

RELEASE notes for src/cmd/fus3d/RELEASE

2013-07-29 snarf from amazing dr.ek, ast-ize, and its alive

RELEASE notes for src/cmd/html/RELEASE

12-08-15 mm2foswiki: add
12-08-15 mm2bb,mm2twiki: add (but ignore some) mm2html options for compatibility
12-08-15 mm2bb,mm2html,mm2twiki: eliminate ksh -n warnings

RELEASE notes for src/cmd/jcl/RELEASE

13-03-04 jcl.c: add { --list=dd --list=parms }
13-03-01 cpy2dss.c: COMP-5 => { be_t le_t } depends on _ast_intswap
13-03-01 cpy2dss.c: --text --variable flattens db2 VARCHAR structs
13-02-06 jcm.c: fix group and dummy job parse, handle event clear
13-02-06 JCL.mk: add .EVENT.CLEAR
13-01-23 cpy2dss.c: must check REC_V_INCLUSIVE() in recfmt

RELEASE notes for src/cmd/ksh93/RELEASE

13-10-08  --- Release ksh93v- ---
13-10-08  The shell arithmetic now recognized suffices f,F, l, and L for
	  floating point constants.
13-10-07  The shell now prints an error message on standard error when a
	  job specified with %job does not exist.
13-10-04  A bug in the value of i.MAX inside an arithmetic expression when the
	  variable i is unsigned long has been fixed.
13-09-23  A bug in which a compound assignment to a type, [(T_t x=(i=2)] where
	  type T_t is defined in FPATH would fail with a syntx error has been
	  fixed
13-09-16  A bug in which a 0 value for variable in arithmetic expression inside
	  a function fails when set -u has been set has been fixed.
13-09-16  A bug which could cause a core dump when generating the man page
	  for user defined types containing compound variables has been fixed.
13-09-16  A bug in the handling of array instances of type variables in an
	  arithmetic expression has been fixed.
13-09-13 +The signal .sh.value variable is now a compound variable with the name
	  value.q for sending a signal with -q and value.Q for sending a value
	  with -Q.
13-09-13  A bug in $(...) command substitution that corrupted a trailing
          multibyte character in non-UTF-8 locales has been fixed.
13-09-13  Eliminted extranesous output of standard error when ksh is invoked
	  with the -v (verbose) option.
13-09-10  A bug in finding a function defined inside a type that was defined
	  in a namespace has been fixed.
13-09-10  A bug in the binding of function local variables inside arithmeitc
	  expression inside namespaces was fixed.
13-09-10 +A -Q option was added to kill to pass integers as large as pointers.
	  The -q option now only accepts integers as large as typeset -i.
13-09-09  A bug in command substitution has been fixed.
13-09-09  Qualified print format "%([no]unicode)q" added to prefer \u[...]
	  over \w[...] and override LC_OPTIONS=unicode.
13-09-04 +\w[hex] locale-specific code point literals have been added.
13-09-04 +The float(f) math function was added.
13-09-04 +The int(f) math function was fixed to return 0 for floating point
	  numbers larger than the maximum integer.
13-09-04  A bug in which assigning a compound indexed array a value of () did
	  not preserve the -C attribute has been fixed.
13-09-04  kill -q can now pass numbers as large as typeset -li and
	  .sh.sig.value is typeset -i rather than a compound variable.
13-09-04  kill -q yields the processor and returns 2 when siqueue fails with
	  EAGAIN and yield.
13-09-03  A bug in which $((x.xxx)) where x is a floating point variable and
	  xxx is not one of the known extensions yields a random value has
	  been fixed.  It now is unset which has value 0 when set -u is off.
13-09-03  A bug in overriding discipline functions for types defined in
	  namespaces has been fixed.
13-09-03  A bug which on some systems caused a core dump for large <<< here
	  documents has been fixed.
13-08-27 +enum constants can have .DIG, .MAX, or .MIN sub-variables.
13-08-26 +Floating variables can be following by DIG, MAX, MIN, EPSILON,
	  INT_MAX, INT_MIN, or MAX_10_EXP to give values correspong to
 	  the floating type of the variable.
13-08-26 +Integer variables can be followed by .DIG, .MAX, or .MIN in
	  arithmetic expression so give the values corresponding to that
	  integer type.
13-08-26 +Added 12 math constants such as E, PI, and SQRT2.
13-08-23  Documented __ in sh.1 man page.
13-08-22  Fixed __ to work in nested types.
13-08-22  A bug in which print -v .sh.stats did not work within a namespace
	  has been fixed.
13-08-21  enumeration subvariables introduce in 13-07-30 can now be used
	  with enum arrays and reference to enum array elements.
13-08-20  A bug in arithemtic with variables used in an arithmetic expression
	  inside a namespace has been fixed.
13-08-19  A bug in which compound variables created in a namespace did not
	  display correctly outside of the namespace has been fixed.
13-08-19 +The variable .sh.pwdfd which expands to the file descriptor number
	  corresponding to $PWD has been added.
13-08-15  A bug in which copying the .sh.stats and .sh.siginfo variables
	  gave values that could vary has been fixed.
13-08-14  A bug in which unknow starup options, for example ksh --foobarbla
	  would cause the shell to core dump has been fied.
13-08-14  A bug in which {n}<&0 did not work after <<< string hs been fixed.
13-08-12  A bug in which background jobs where not removed after the
	  user was notified about completion has been fixed.
13-08-11  A bug in which subscripts were evaluated twice for subscripts
	  on the left hand side of assignments make by typeset has been fixed.
13-08-11 +namespace was modified so that namespace names can be a compound
	  variable rather than just an identifier and namespace are no
	  longer nested.
13-08-07  typeset -p (and print -v) now display the short attribute for
	  typeset -sF and typeset -sE.
13-08-06 +You can now use the redirection <& {n} whic is the same as <& $n.
13-08-05  Fix a bug in which read -C could reference uninitialized memory.
13-07-31  Fixed a bug with index arrays of short integer types in arrays
	  inside types that could lead to a core dump.
13-07-30  Fixed a bug with short integer arithemtic that could lead to a
	  core dump.
13-07-30 +An experimental change to each enumeration variable have subvariables
	  for each enumeration constant.  ${enum.name} will expand to the
	  numerical value of the enumeration name associatied with enum.
13-07-30 +An experimental change to allow ${foo.__} to expand to the parent
	  node for foo, or foo if foo doesn't have a parent.  There are now
	  regression tests for .__ yet.
13-07-26  Fixed a memory leak bug with `...`.
13-07-24  A bug in which += assignments did not work for environment variables
	  specified for non-special builtin commands has been fixed.
13-07-24  The _ variable is new set as a reference to the type inside
	  discipline functions for non-type variables in the type.
13-07-23  A bug in the arithmetic assignment to an enum using a ?: operator
	  with the nounset option has been fixed.
13-07-22  The .sh.sig variable has been modified to treat .sh.value as a
	  compound variable containing int and ptr.
13-07-18  Assignments of the type name=(...) to array variables now preserve
	  the array type and the variable type if any.
13-07-18  If a PATH ends in ., and you are in the current directory and this
	  directory is in FPATH, ksh now treats this a a function directory.
13-07-17  ${!.sh.sig@]} now expands to all the .sh.sig. variables.
13-07-17  A bug in which a fatal error such as invalid shift in a function
	  defined with f() did not terminate the script when the f was
	  invoked with a redirection has been fixed.
13-07-17  A timing bug in $(...) which could cause the return value to be
	  127 has been fixed.
13-07-16  A bug in which references to compound variables inside a namespace
	  was not working has been fixed.
13-07-15  Running a function f that assigns to .sh.value no longer outputs the
	  value of .sh.value when invoked via ${ f;}.
13-07-15  Fixed a bug in which bool -A a=( [2]=true [4]=false ) caused the
	  number of elements to show up as 4 rather than 2.
13-07-11  Eliminated two references to uninitialized memory.
13-07-10  A memory leak with using aliases has been fixed.
13-07-09  A memory leak with autoload functions has been fixed.
13-07-08  When using kill -q to send a signal, a CONT signal is not sent to
	  wake the process if it is sleeping after sending the signal.
13-07-08  Fixed a namespace bug in which print -v did not work for printing
	  a compound array of a namespace variable.
13-07-02  A bug in which trap '' TTOU could cause the shell to go into an
	  infinite loop has been fixed.
13-06-25  ksh93 uses the new ast system call intercepts to restart interrupted
	  signals.
13-06-21  A -f nn option has been added to cd to change to a directory
	  relative to a file descriptor of an open directory.  cd -f nn
	  is equivalent to cd ~{nn}.
13-06-20  A bug in which  ${IFS+abc} did not expand to abc when IFS is
	  unset has been fixed.
13-06-18  A bug on some systems with arithmentic expressions containing
	  x**y has been fixed.
13-06-13  Changes made for reliable delivery of queued signals.
13-06-12  The character '@' in an associative array subscript is not quoted
	  when displayed on output so that it will be a valid subscript on
	  input.
13-06-06  In accordance with the standard set -u now causes failures for
	  unset positional parameres.
13-06-05  Several changes to handle queued signals have been made.
13-06-04  A bug with the arithmetic expression $((2**63 / -1)) on some
	  systems has been fixed.
13-05-31  Fix a bug in job completion when trying to make a selection after
	  hitting <TAB> on an empty directory.
13-05-30  A bug with set -m in a script wich could cause the script to hang
	  has been fixed.
13-05-30  Two bugs related to the processing of a nameref foo=$1 where $1
	  is of the form arr[subscript] where subscript is an arithmetic
	  expression has been fixed.
13-05-29  ksh93 now intercepts the LC_TIME variable.
13-05-29  A bug in which builtin -d date did not delete the date builtin has
	  been fixed.
13-05-29  namespace commands are no longer allowed inside function definitions
	  and now generate a syntax error.
13-05-28  Fixed bugs in typeset -c for copying attributes for simple variables.
13-05-28  Fixed two bug for typeset -c and typeset -m for variable .sh.match.
13-05-28 +Added -j option to print (and %(json)B format specifier to printf)
	  which will print a compound shell variable in JSON format.  This is
	  expermental.  Let me know if I got things wrong.
13-05-23  A bug for enumeration types in which unset elements of an array
	  expanded to the default enum name rather than to the empty string
	  has been fixed
13-05-23  A bug in which set -u did not fail for unset array elements of
	  an array of short ints (typeset -is) has been fixed.
13-05-22 +Added -c option to typeset which is similar to typeset -m except
	  that the variable is copied rather than moved.  This is experimental
	  and there are known bugs.  If it can't be made reliable it will
	  not be added.
13-05-20  Fixed a bug in which running script < file, where script did
	  reads generated output the the terminal in error has been fixed.
13-05-20  Updated documentation for typeset -s and typeset -l for integer
	  and floating point types.
13-05-17  A bug in the ${b[i}} when b is an enumeration variable whose
	  value corresponds to the 0'th element.
13-05-17  A bug in which set -o nounset caused ((boold=true)) to fail has
	  been fixed.
13-05-16  A bug in which a nameref to a compound sub-variable that does
	  not exit failed when called from a function with static variables
	  has been fixed.
13-05-15 +The set -s -Aarray sort option added on 13-04-25 now works for
	  sorting an indexed array of type instances.
13-05-15  A bug in which ${!foo*} did not contain foo when $foo exists
	  has been fixed.
13-05-15  typeset -m foo=bar now generates an error when set -o nounset is
	  on and variable bar is unset.
13-05-14  A bug in which bar was not empty after typeset -m foo=bar has
	  been fixed.
13-05-13  A bug in which the exit trap could be executed twice with ${...;}
	  has been fixed.
13-05-10  Added more documentation with enum --man.
13-05-10  With print -v for with nested compound variables, the output contains
	  typeset -C for sub-variabes that are compound assignments.
13-05-10  Reduced the number of warning when running gcc with -Wshadow option.
13-05-09  Updated man page to mention _Bool enumeration and bool preset alias.
13-05-08  Modified the code to that CHLD traps are delayed when a trap from
	  another signal is being modified.
13-05-08  Added a ksh -n options that suggests that x=$((expr)) be replaced by
	  ((x=expr))>
13-05-07  A bug in which typeset -p and print -v did not display elements that
	  were compound variables without any sub-variables has been fixed.
13-05-06  Fixed a bug with typeset -m when varaible is a name reference to
	  a local variable from a calling function.
13-05-06  A bug in which shcomp failed to compile some scrips that defined
	  enums has been fixed.
13-05-03  Fixed a bug with typeset -m a[i]=a[j] when a is a numeric array type.
13-05-02  Fixed another typeset -m but form moving types containing compound
	  variables.
13-05-02  Fixed another typeset -m bug for moving a compound variable contained
	  in a type variable.
13-05-01  Fixed two bugs additional bugs related to typeset -m for compound
	  variables.
13-05-01 +Increased to maximum number of enumeration elements from 32K to
	  2G.
13-04-30  A bug in which typeset -m did not preserve attributes has been fixed.
13-04-30  A bug with with read -C var when var contained index array subscripts
	  that caused side effects on evaluation has been fixed.
13-04-29  A bug in defining and using multi-dimensional types and enums has
	  been fixed.
13-04-25  A bug which caused iffe to fail on some systems has been fixed.
13-04-25 +The -K option has been added to set to sort indexed arrays of
	  compound elements based on a list of keys.
13-04-18  Fixed a bug with process substitution on systems that don't support
	  /dev/fd.
13-04-18  Added serialization to processing of CHLD traps.
13-04-17  A bug in arithmetic in which x[i].foo in a loop would not be
	  re-evalued when subscript i changed value has been fixed.
13-04-15  Fixed a couple of problems with regression tests.
13-04-15  ksh now waits for background jobs started in functions contained
	  in command substitution.
13-04-11  Made code changes based on warning from the "clang" tool.
13-04-11  Fixed two core dumps on some architectures related to uninitialzed
	  data.
13-04-10  ksh now waits for background jobs started in $() and ${...;} to
	  complete as it did in ksh93u+.
13-04-10  A bug in which x=\\x; case x in $x) echo yes;; *) echo no; esac
	  printed yes has been fixed.  It should print no.
13-04-08 +ksh now sets .sh.sig.pid and .sh.sig.status for CHLD traps.  The
	  .sh.sig.status can be one of exited, killed, dumped, stopped or
	  continued.
13-04-08 +The CHLD trap is now triggered with STOP and CONT signals.
13-04-05  A bug in which a command with one or more >(...) process substitution
	  arguments did not wait for all >(...) to complete before running the
	  next command has been fixed.
13-04-04  A bug in which monitor mode was not working for scripts has been
	  fixed.
13-04-04  A bug in which an unset variable error with set -u on did not
	  terminate the current script has been fixed.
13-04-03  The shell now uses mmap() on systems that suppport it for
	  command substitution.
13-04-03 +Functions that are used in brace group command substitution ${ ... }
	  can assign the result to .sh.value instead of writing to standard
	  out with the same result, but faster.
13-04-02  A bug in the handling of string files in a type that is a member
	  of another type has been fixed/
13-04-02  A bug in cd ../.foobar, where ../.foobar exists, has been fixed.
13-03-29  A bug in which read -r -d delim ignored -r has been fixed.
13-03-28  A bug in which the KEYBD trap did not work correctly lines that
	  are continued  has been fixed.
13-03-28  read with line delimiter 0 and field separator \n did not split on
	  '\n' and has been fixed.
13-03-28  A bug in which "typeset -a" could cause a core dump has been fixed.
13-03-27 +The variable .sh.sig containing siginfo information is no set during
	  a SIGCHLD trap.
13-03-26  A bug resulting from one of the memory leak bugs fixed on 13-03-15
	  has been fixed.
13-03-22  A bug in displaying indexed arrays of types in a compound variable
13-03-22  A bug in which typeset -T did not display subtype names correctly
	  do to a caching problem has been fixed.
13-03-21  A bug in which ${...PATH=...} command substitution did not preserve
	  path bindings has been fixed.
13-03-20  The exit value from the expansion of the PS1 prompt no longer affects
	  the exit status of the shell.
13-03-20  A fork bomb which could occur when a job was stopped in a shell with
	  monitor mode, but not a job control shell has been fixed.
13-03-19  A new patch to replace the patch removed on 13-03-06 for non utf8
	  locales in command substitution has been added.
13-03-17  A bug with print -v for an array of integer or floats has been fixed.
13-03-15  Two memory leaks related to arrays created in functions has been
	  fixed.
13-03-14  A bug in reading an instance of an indexed array variable has been
	  fixed.
13-03-12  Initialized a variable in sh/macro.c that had been uninitialized.
13-03-12  Fixed a bug that could cause a core dump with associative arrays
	  used withing types.
13-03-12  Empty fields and empty arrays as type elements are not displayed
	  when expanding a type instance.
13-03-11  The trap command now blocks signals that have traps until the
	  trap command completes.
13-03-11  Signals that have traps that occur while processing a trap are
	  deferred until the trap command completes.
13-03-10  A bug in the expansion of a compound variable containing nested
          types that contains arrays has been fixed.
13-03-06  The patch made on 13-02-07 to handle non utf8 locales has been
	  removed (for now) because it broke a utf8 locale script.
13-03-05  A bug in which ${!var*} to not expand correctly when it was at
	  the beginning of a script for after a call to enum has been fixed.
13-03-05  A bug in the expansion of a compound variable containing nested
	  types has been fixed.
13-03-04  A bug in the for loop optimizer which could falsely treat typeset -b
	  as loop invariants  has been fixed.
13-02-27  The exit value from expanding the PS[1-4] prompts no longer affect
	  the exit status of the shell when you exit with EOF.
13-02-22  'kill %' caused the shell to core dump.  This has been fixed.
13-02-21  The 12-01-16 bug fix prevented .sh.match from being used in the
	  replacement string.  The previous code was restored and a different
	  fix which prevented .sh.match from being computed for nested
	  replacement has been used instead.
13-02-20  Fixed two bugs related to reading compound variables with
	  read -C that contain sub-elemects that are type variables.
13-02-19  Fixed a bug introduced on 13-01-17 when adding the feature of
	  allowing math functions to pass arrays as arguments.
13-02-13  A bug in which hitting interrupt with reading from a terminal
	  sent the interrupt to the current process rather than the current
	  process group has been fixed.
13-02-13  A bug in which x.name and x[0].name were not treated the same
13-02-08 +The -p option was added to enum to display the values that are
	  valid for the enum.
13-02-07 +A preset alias named bool which is an alias for an enum
	  named _Bool which has values true and false has been added.
13-02-07  A bug in the processing of multibyte characters in non utf8 locales
	  in command substitution has been fixed.
13-02-05  Fixed emacs tab completion bug in which typing <tab><tab> in a
	  directory with one element that contained an element of one entry
	  did not expand to both names.
13-02-24  Increased the maximum level of recursion for evaluating variables
	  inside arithmetic expressions from 9 to 1024.
13-02-24  Added exp10 math function.
13-01-31  A bug in integer division which occured for numbers between INT_MAX
	  and UINT_MAX has been fixed.
13-01-31  A bug in the parser that did not allow for redirections with
	  ((...)) arithmetic statements has been fixed.
13-01-17 +User define math functions introduced on 10-03-24 now allow passing
	  arrays as arguments.
13-01-10 +ksh now treats ESC-O-letter the same as ESC-[-letter in vi and emacs
	  edit modes.
12-12-10  A bug with enumerations types when declaring an indexed array of
	  an enumeration type has been fixed.
12-11-30  A bug in which whence or type on a preset alias did not output the
	  value has been fixed.
12-11-28  Assigning an element of an indexed array as an empty array now
	  correctly displays this with typeset -p.
12-11-28  typeset -p of an array variable whose 0 element was an array variable
	  with no elements did not output correctly and has been fixed.
12-11-20  Numerous changes related to new algorithm for shell redirections
	  using the spawnvex() library.  Not yet used in all cases.
12-11-14  A bug with caused by using spawnvex*() functions for redirections
	  of simple commands with here-documents has been fixed.
12-11-12  A memory leak which occured while doing path search has been fixed.
12-10-24  A bug which caused the shell to report a syntax error when a
	  command substitution appeared on the line that started a here
	  document has been fixed.
12-10-23  The shell now uses the new spawnvex*() functions for redirections
	  of simple command that are not builtin.
12-10-21  Here documents with $() and ${ } use larger buffers.
12-10-21  Builtins now use mmap() for files that are opened for reading.
12-10-18  A bug in which preceding a special builtin with command did not
	  prevent assignments from remaining has been fixed.
12-10-17  A bug in the self documentation for types which causes the field
	  descriptors to be off by 1 has been fixed.
12-10-17  An array bug which caused a regression test to fail has been fixed.
12-10-16  A bug in the exit status for command substitution caused by no longer
	  using pipes has been fixed.
12-10-16  A bug in the self documentation for types with discipline functions
	  led to an extra line containing -. and has been fixed.
12-10-16  Fixed a bug with typeset -p that could cause a core dump.
12-10-15  Fixed a bug in which unsigned long was used when unsigned long long
	  was needed.
12-10-15  Fixed a bug in in which could cause long double data to not
	  aligned correctly in types.
12-10-09  A bug in which nested types were not able to invoke a discipline
	  method defined by an embedded type has been fixed.
12-10-09 +read -d '' now reads up to a NUL byte.
12-10-04  libcmd builtins are statically linked into ksh93 and by default are
	  bound to the path /opt/ast/bin whether this path exists or not.
	  Changing the .sh.op_astbin variable changes the binding.
12-10-02  Fixed a bug that could cause a core dump when unsetting type
	  instances.
12-10-02  Command substitution for using $() no longer uses a pipe and
	  waits for the process to complete before finishing.
12-10-01  Updated man page for [[ s1 < s2 ]] and [[ s1 > s2 ]] to clearify
	  that the string comparisons are based on the locale.
12-10-01 +Added the variable SH_OPTIONS which consitst of name=value pairs.
	  For defined options it assigned value to the variable .sh.op_name.
12-10-02 +Add the variable .sh.op_astbin to define the directory where several
	  shell builtins will be bound.
12-09-28  Fixed a bug that caused core dumps when unsetting an array of types
	  on some systems.
12-09-28  Fixed a LINENO bug that causes function line numbers to be wrong on
	  some 32 bit systems.
12-09-24  The LINENO variable can now handle scripts with more than 2147483647
	  lines.
12-09-24  The number of elements for an indexed array for a 64 bit architecture
	  has been increased to 2147483647.
12-09-21  A bug in which the output of a two dimensional sparse indexed array
	  would cause the second subscript be treated as an associative
	  array when read back in has been fixed. Elements that are sparse
	  indexed arrays now are prefixed type "typeset -a".
12-09-19  A bug in which running more that 32767 subshell could cause the
	  shell to core dump has been fixed.
12-09-19  A bug in which the freeing of a compound variable with types and
	  arrays when leaving a function has been fixed.
12-09-18  A bug in which compound -a for a type element did not display the
	  -C attribute has been fixed.
12-09-14  >; file now fails if the user does not have write permission on file.
12-09-13  Fixed a compilation problem with Solaris which does not have
	  SOCK_CLEXEC.
12-09-12  Moved from using libast spawnveg() to new libast spawnvex().
12-09-12  Changed the default build to disable SHOPT_FIXEDARRAY.
12-09-11  Fixed two bugs related to name references to compound array
	  variables.
12-09-10 +Added ~{fd} expansion where fd is the number of an open file or
	  a variable whose value is the number of an open file.
12-09-10  Fixed a bug in typeset -m the .sh.match is being renamed.
12-09-07  Fixed a bug in .sh.match code that coud cause the shell to quitely
12-09-07  Modified the code to use bool instead of int in several places.
12-09-05  Modified pipe and socketpair creating to create file descriptors
	  with close-on-exec set.
12-08-31  A bug in vi mode in which ~/tst/make/users/hv<TAB> did not expand
	  correctly has been fixed.
12-08-31  A bug that could cause a core dump after typeset -m var=.sh.match has
	  been fixed.
12-08-30  For an associative array A, $((A[sub])) no longer cause subscript sub
	  to be created.
12-08-29  A scoping error in setting the scope for a reference when the
	  reference contained subscripts containing a variable from a different
	  scope has been fixed.
12-08-27  A number of changes to open files with close-on-exec has been made.
12-08-24  A bug in which unsetting instance variables in a type could effect
	  the value of that instance in other type instances has been fixed.
12-08-23  A bug in which name references to compound variable array elements
	  did not work correctly has been fixed.
12-08-22  .sh.match now handles subpatterns that had no matches with
	  ${var//pattern} correctly.
12-08-21  A bug in setting .sh.match after ${var//pattern/string} when string
	  is empty has been fixed.
12-08-21  A bug in setting .sh.match after [[ string == pattern ]] has been
	  fixed.
12-08-21  The poll builtin from Roland Mainz has been added with the option
	  SHOPT_POLL.
12-08-21  A bug in which read -S did not handle "" inside double quotes has
	  been fixed.
12-08-21  A bug in which a compound variable defined in a type could not
	  have elements added to it has been fixed.
12-08-20  A bug in which creating a two dimemsional associative array could
	  add an extra 0 element to the second subscript has been fixed.
12-08-20  typeset -H foo no longer unsets foo when foo has been exported to
	  the shell.
12-08-20  A file descriptor for the current directory is now made available
	  to built-ins in the context pointer.
12-08-10  Rewrote .sh.match expansions fixing several bugs and improving
	  performance.
12-08-09  A bug in which assignments following a process substitution argument
	  were treated as assignments rather than arguments has been fixed.
12-08-07  Fixed a bug in which discipline functions define in a type from
	  within a namespace where not being run in the namespace.
12-08-07  .sh.match no longer gets set for patterns in PS4 during set -x.
12-07-25  Each shell variable now contains a pointer to the shell pointer.
12-07-20  <shell.h> interface updated to pass the shell interpreter pointer
	  to most functions.
12-07-17  A bug in which the restricted option set in a subshell prevented
          some variables from getting restored when the subshell completed
          has been fixed.
12-07-16  The code was modified to do automatic retry for several system calls
	  the fail with errno set to EINTR.
12-07-12 +Added -q option was added to kill to send queued signals on systems
	  that support sigqueue().
12-07-12 +Added -p option to builtin to output builtins in a format that can
	  be used to reinput.
12-07-05  Eliminated compile options and code for ECHOPRINT and OLDTERMIO.
12-07-05  Eliminated compile options BGX, ESH, HISTEXPAND, TYPEDEF and VSH.
	  They are the default.
12-07-02 +The -a option was added to trap to cause the current setting to be
	  appended to the new trap setting rather than replacing it.
	  the input line has been fixed.
	  not returned by a function to indicate a signal exit has been fixed.

12-06-28  --- Release ksh93u+ ---
12-06-06  A bug in which exporting left or right justified fields could loose
12-05-31  Fix 64 bit big-endian arithmetic bug that mishandled nan and inf.
12-05-25  A command substitution containing a here-document that itself contains
	  interrupt and did not terminate when the delimiter was entered
12-04-06  Modified namespaces to hand variables FPATH, PATH, and OPTIND that
12-02-08  A bug in job control in which the foreground process group was not
	  for some other variables, for example, HISTFILE has been fixed.
11-12-13  In vi edit mode a literal <TAB> can now be entered by preceding it
	  with a backslash.
	  command substitution caused standard error to be lost has been fixed.
11-06-07 +A number of changes to support the still undocumented namespace option
11-03-03  A bug in which the width of the prompt was calculated incorrectly
	  command substitution is not completed before the closing ), for
	  occurred inside command substitution has been fixed.
10-11-11  A bug in typeset -m when the variables were compound array instances

RELEASE notes for src/cmd/kshlib/dss/RELEASE

12-08-24  Makefile: shell:20120609
08-06-09 sync with ksh93t api

RELEASE notes for src/cmd/kshlib/setid/RELEASE

13-07-31 first release

RELEASE notes for src/cmd/mailx/RELEASE

13-10-01 mailx: add autosign to auto sign new messages
13-08-11 head.c: add header charset conversion buffer boundary checks
13-08-11 add -o noconvertheaders to disable header charset conversion
12-09-26 head.c handle =?UTF-8?[BQ]?...?=; other charsets later

RELEASE notes for src/cmd/mam/RELEASE

13-08-11 strcopy() => stpcpy()

RELEASE notes for src/cmd/msggen/RELEASE

13-04-01 split src/cmd/msgcc into { src/cmd/msggen src/cmd/msgcc }
10-10-20 msgcc.sh: add raw type (like str) for ksh -D style strings
10-06-01 sync with ast api 20100601
06-11-15 msgcc.sh: date -f x => date +x for ast-base portability
06-10-11 add sfstruse() error checks
02-03-11 msgcc: fix merge replacement threshhold logic
	 msggen: convert { \a \b \f \n \r \v } back to C escapes
	 msgcpp: set pp:modern
02-02-14 msggen: add -f to list printf format signatures
01-10-10 msgcc: allow some email forms to pass
01-06-10 msgcpp: add proper escapes to OMIT pattern
01-05-29 msgcc: add similar unused message replacement, -M-similar
01-04-22 msgcc,msggen,msgget: use mcindex()
01-01-31 ignore ls generation errors
00-04-20 first release

RELEASE notes for src/cmd/nmake/RELEASE

13-08-11 strcopy() => stpcpy()
13-07-17 use O_CLOEXEC
13-05-28 Makerules.mk: fix MAM CC.SUFFIX.OBJECT initialization
13-05-07 main.c: drop Vmstat_t.m_busy Vmstat_t.m_free
13-05-06 pkg-cobol-mfcobc.mk: add :COBWATCH:
13-04-11 pkg-cobol-mfcobc.mk: add :COBTRACE:
13-04-05 Makerules.mk: add .SOURCE.h defaults ala .SOURCE.a
13-03-20 Makerules.mk: add CC.NM.NMFLAGS for stupid stupid stupid aix -Xany
13-03-19 pkg-cobol-mfcobc.mk: incorporate optional probe-mfcobc.mk
13-02-20 scan.c: makerule() from tmp buffer in case of shorter canon()
13-02-14 command.c: .FOREGROUND => all MAKING prereqs in parent chain done (e.g. via coshell service)
12-12-01 Makerules.mk: fix MAMROOT logic when PWD outside of viewpath
12-11-09 option.c: omit delayed/unknown options from oldmake punt
12-09-18 Makerules.mk: set --novirtual if VPATH contains less than 2 dirs

RELEASE notes for src/cmd/pax/RELEASE

13-08-11 strcopy() => stpcpy()
13-06-24 pax.h,pax.c,file.c: change chmod members to modekeep and restoremode
12-11-08 file.c: fix lchmod() logic for systems that implement only ENOSYS
12-10-17 copy.c: fix SEEK_HOLE loop that set last file byte to 0
12-09-28 pax.c,options.c: document t<compress> => tar:<compress>

RELEASE notes for src/cmd/re/RELEASE

13-04-03 grep: move to lib/libcmd and cmd/builtin
13-01-24 ed.c: splice => splicef to avoid gnu splice(2)

RELEASE notes for src/cmd/sort/RELEASE

13-09-19 main.c: convert to mb*(Mbstate_t) api
13-05-17 sfopen.c: disable SFOPEN_INTERCEPT experiment -- better handled by plugins
13-02-14 main.c: change "-o file" to not use sfstdout unless /dev/stdout (for user discipline functions)
13-02-13 main.c: add { RS_MORE RS_LAST } logic for rsprocess()

RELEASE notes for src/cmd/sortlib/sync/RELEASE

13-08-11 strcopy() => stpcpy()
13-02-13 sync.c: set RS_MORE for (*readexit)()
13-02-11 ss.c: allow SUM FIELDS=(NONE) for SUM FIELDS=NONE

RELEASE notes for src/cmd/ss/RELEASE

13-03-21 ssd.c: work around stupid stupid stupid solaris 11 - hey guys, don't define _PATH_UTMP and it won't get used

RELEASE notes for src/cmd/std/RELEASE

13-09-26 split.c: fix opetget() docs
13-09-19 ls.c: convert to mb*(Mbstate_t) api
13-08-07 banner.c: (we still have banner?) drop bosu 3rd arg to main() -- thanks clang
13-07-17 ls.c: fix -l for empty symlink
12-11-07 ls.c: move --testsize logic after -H hackery
12-10-01 iconv.c: move src/lib/libcmd

RELEASE notes for src/cmd/tests/RELEASE

13-05-09 { aso cdt vmalloc } kpv sync

RELEASE notes for src/cmd/tksh/RELEASE

12-08-24 Makefile: shell:20120101

RELEASE notes for src/cmd/tw/RELEASE

13-08-26 expr.c: fix null pointer deref in matchval() -- thanks Philippe
13-08-02 find: add { -show -delete } for gnu/sol compatibility
13-04-03 xargs: move to lib/libcmd and cmd/builtin

RELEASE notes for src/cmd/vczip/RELEASE

13-05-09 kpv sync

RELEASE notes for src/lib/libardir/RELEASE

11-08-31 ar-omf.c: fix FILENAME #pragma prototyped incompatibility

RELEASE notes for src/lib/libast/RELEASE

13-09-27 path/pathcanon.c: fix buffer clobber bug between pathdev() and fgetcwd()
13-09-27 path/pathopen.c: handle easy O_XATTR case for /dev/fd open() semantics
13-09-25 include/ast_std.h,comp/setlocale.c: AST_LC_unicode => AST_LC_unicodeliterals, LC_OPTIONS=...unicodeliterals...
13-09-25 include/ast_std.h,comp/setlocale.c: AST_LC_native LC_OPTIONS=...native... to bypass ast unicode iswalpha/wcwidth tables
13-09-25 comp/eaccess.c: resolve <ast_map.h> vs <ast_intercept.h> conflict -- _ast_eaccess wins
13-09-18 include/ast_std.h,ast.h: api>=20130913 add Mbstate_t and { mb*() wc*() } macros with Mbstate_t* last arg
13-09-18 path/pathcanon.c: handle more flags for /dev/file/flags@...@path and do flag name lookup from table
13-09-16 include/ast.h: add PATH_EXCEPT_LAST for readlink(1) --canonicalize
13-09-16 path/pathcanon.c: handle PATH_EXCEPT_LAST
13-09-12 misc/fgetcwd.c: fix stat corruption bug on systems without fdopendir()
13-09-12 path/pathcanon.c: fix bug that added extra / when fgetcwd() returned /
13-09-09 comp/setlocale.c,port/codeset.c: consistent handling of US-ASCII + conformance(0,0) across all os's
13-09-09 string/utf8towc.c,string/wctoutf8.c: add { utf8toutf32() utf8towc() wctoutf8() }
13-09-07 include/ast_std.c,comp/setlocale.c,string/stresc.c: add ast.byte_max for single byte locales
13-09-06 comp/iconv.c: add sfclrerr() to iconv_move() if all input chars not consumed
13-09-06 port/codeset.h,port/codeset.c: internal api for retrieving locale codeset names
13-09-04 string/chresc.c,stresc.c: add \w[hex] support -- thanks Roland
13-09-04 string/utf32stowcs.c,string/wcstoutf32s.c: add -- thanks Roland
13-09-04 sfio/sfsetbuf.c: fix bug where SF_GETR mode was not cleared causing subsequent memory corruption
13-09-04 vmalloc/vmopen.c,vmdcsystem.c,vmstat.c: temporarily set vm->meth.meth=0 to disable vmstat() during init
13-09-04 port/intercept.c: include <ast_standards.h> to ensure fdopendir() prototype if _lib_fdopendir
13-09-04 include/ast_std.h,comp/setlocale.c: add LC_OPTIONS=unicode and AST_LC_unicode
13-09-01 path/pathcanon.c: O_* flags dev path: /dev/file/flags@flag[,flag...]@[/]path
13-09-01 path/pathcanon.c: limit NAMED_XATTR paths to /dev/file/xattr@canonical-path//@//[remainder]
13-08-29 cdt/dtstrhash.c: change sign-bit hitting fnv constants to hex to silence unsigned warnings
13-08-26 features/float: fix (FLT|DBL|LDBL)_*_(MIN|MAX) algorithm to not use exact powers of 2!!
13-08-24 include/fts.h,misc/fts.c: make preparations for FTS.fts_dirfd, fdopendir(), fgetcwd(), openat(), fstatat()
13-08-23 path/pathcanon.c: add PATH_DROP_LEAD_SLASH2 and PATH_DROP_TAIL_SLASH to unify ast c14n
13-08-23 features/float: add (FLT|DBL|LDBL)_EPSILON logic
13-08-22 features/lib,include/ast_std.h,comp/qsort.c,comp/qsort_r.c: add { qsort qsort_r } from Bentley/McIlroy code
13-08-22 misc/getcwd.c: now a wrapper call to fgetcwd(AT_FDCWD)
13-08-21 regex/regdecomp.c: fix REG_SHELL decompilation bug
13-08-21 regex/regcomp.c: fix REG_SHELL ~(A)(...) parse bug that didn't treat second ')' as closing paren
13-08-20 misc/fgetcwd.c: add, inspired by olga
13-08-17 path/pathcanon.c: /dev/file/flag[,flag...]:[/]path for relative and absolute paths
13-08-17 port/intercept.c: move pathdev() intercepts to ast_*at() and make ast_*[!at]() call ast_*at() counterpart
13-08-15 features/lib,features/dirent,port/intercept.c: add ast_opendir() and fdopendir() tests
13-08-14 features/atdev: additional support for comp/at.c emulation on frankenstein systems
13-08-11 features/lib: add `lib fdatasync,fssync,sync' tests
13-08-11 features/fcntl.c: another round for { O_DIRECTORY O_SEARCH }, stabilize ast extension values
13-08-11 port/intercept.c: add RATIFY() to check for paths with embeded directory fd refs
13-08-11 convert strcopy() usage to stpcpy(); strncopy() will not change
13-08-08 path/pathcanon.c: add PATH_ABSOLUTE to canonicalize relative path to absolute (rooted) path
13-08-08 comp/resolvepath.c: now a veneer to pathdev+PATH_ABSOLUTE...
13-08-08 string/stpcpy.c,string/stpncpy.c: add { stpcpy() stpncpy() } emulations
13-08-08 include/ast.h,path/pathcanon.c: add { /dev/file@flag1,.../path /dev/file@flag1,..././path } to pathdev
13-08-08 port/intercept.c: handle O_ASYNC anomalies in ast_openat()
13-08-07 sfio.h,sftmp.c: add SF_TMPFILE notification for sftmp() switch from buf to file
13-08-07 include/ast.h: add getconf("string") macro using astconf()
13-08-07 features/fcntl.c: add more macro guards to cover diffs between iffe time and compile time
13-08-07 features/limits.c: { _POSIX_NAME_MAX _POSIX_PATH_MAX } failsafes for systems (like darwin) that omit them
13-08-06 tm/tvsleep.c: fix interrupted select() remaining time logic
13-08-06 path/pathopen.c,pathdev.c: handle /dev/fd/ dir pseudo stat
13-08-05 vmalloc/malloc.c: add VMALLOC_OPTIONS=usage => VM_usage
13-08-01 path/pathopen.c: fix /dev/fd/<fd>/trailing-path bug that missed trailing-path
13-07-31 features/lib: add setregid
13-07-29 vmalloc/vmdcsystem.c: add EINTR restart checks for system getmemory
13-07-25 add ast/sys/socket.h => ast_socket.h => ../include/sys/socket.h for intercepts
13-07-22 pathopen.c: fix PATH_DEV logic to preserve ksh sh_open() semantics
13-07-19 fix features/fcntl.c to keep track of highest bit in o_local
13-07-18 incorporate roland mainz' solaris compatibility and hugepage patches
13-07-18 include/vmalloc.h: restore Vmethod_t callout function order for backwards binary compatibility
13-07-17 port/intercept.c: ast_openat(fd,0,...) => openat(fd,".",...)
13-07-16 string/chresc.c: limit \xH \xHH to 2 hex digits (\u and \U handle wide chars now)
13-06-28 intercept.c: add AST_SERIAL_always, in particular for AST_SERIAL_RESTART
13-06-25 intercept.c: add syscall intercepts to unify { *at() restart pathopen() }
13-06-25 pathopen.c: low level physical/logical/special path open using pathdev()
13-06-24 pathcanon.c: add pathdev() for  { /dev/... /proc/... } parse
13-06-19 vmbest.c: fix strict-aliasing warnings
13-06-19 debug.h,debug.c: add debug_printf(fd,fmt,...), debug_vprintf(fd,fmt,ap), debug_snprintf(buf,siz,fmt,ap)
13-06-18 features/lib: fix lib *64 tests to reference related headers
13-06-18 malloc.c: add VMALLOC_OPTIONS=debug for debug trace vs verbose trace
13-06-18 reg[nr]exec.c: fix file size < min boyer-moore match uninitialized data ref
13-06-17 vmalloc: harden code to handle signal storm -- almost working save one workaround
13-06-10 sfsetbuf.c: update SFIO_OPTIONS parse to model VMALLOC_OPTIONS
13-06-10 SFIO_OPTIONS: add _Sfmaxm maxm=size 0:legacy-min-req -1:unlimited otherwise: page rounded limit
13-06-10 sfrd.c: change map minimal requirement logic to use _Sfmaxm
13-06-10 sfrd.c: add SFTEST_map_minimal, disabled by default for _ast_sizeof_pointer>=8
13-06-07 vmalloc: split global initialization into lazy components
13-06-01 vmalloc: getenv("VMALLOC_OPTIONS") is the only env control
13-05-31 regex/regnexec.c: fix stkstd iterference by using private env->mst
13-05-30 vmalloc/vmmaddress.c: fix leaky shmid in _vmpagesize()
13-05-28 vmalloc/vmdebug.c: add free() delay list to avoid deadlock
13-05-28 include/ast_errorf.h: split out for low level disc/meth libs
13-05-24 string/strsort.c: add strsort_r() for Strcmp_context_f
13-05-22 string/fmtbuf.c: add thread-safe logic
13-05-21 misc/optget.c: add the D "DATA" section
13-05-09 { aso cdt vmalloc } kpv sync
13-05-05 include/ast.h: _AST_PROFILE_NEWOF for debugging newof() vs oldof()
13-05-01 misc/spawnvex.c: some cc's don't like switch(intmax_t)
13-04-18 comp/iconv.c: fix some truly rotten code in iconv_move() -- how did it work at all?
13-04-01 misc/spawnvex.c: fix omitted SPAWN_frame case that caused EINVAL
13-03-11 sfio/sfflsbuf.c: memcpy() => memmove() ouch
13-03-11 path/pathfind.c: type=="" => type=0
13-03-07 features/(dirent|lib|sys): handle opendir64 => DIR64
13-03-07 vmalloc/vmmopen.c: disable some #include that _PACKAGE_ast already does
13-02-14 misc/optget.c: -Wall cleanup -- thanks werner
13-01-03 string/stropt.c: fix off-by-one comparison bug - happy new year
12-11-15 misc/spawnvex.c: add SPAWN_frame and SPAWN_FRAME
12-11-10 tm/tmxdate.c: handle yyyymmddThhmmss.nnnnnnnnn[-+]hhmm
12-10-17 comp/conf.tab: add PC MIN_HOLE_SIZE
12-10-16 spawnvex.c: spawnvex_open(SPAWN_EXEC) => posix_spawn() exit ENOENT=126 ENOEXEC=127 ok
12-10-15 hash/hashlib.h,hash/hashscan.c: fix *ancient* hashscan() bug that didn't handle hashsize() during scan
12-10-12 misc/spawnvex.c,features/sys: spawnvex() finally working for spawn variants
12-09-27 regex/reglib.h: fix superfluous mask in bit test macros that limited values to 256 bits (now unlimited)
12-09-26 comp/iconv.c: fix UTF-16 <=> UCS-2 mixup
12-09-26 string/qp.c: add { qpdecode() qpencode() }
12-09-24 sfio: use #if _mmap_worthy instead of obsolete #ifdef MAP_TYPE
12-09-14 tminit.c: for UTC zone with no native name use getenv("TZ")
12-09-13 tmzone.c,tmxdate.c: handle [ZY][EW]n[ABC]? tz notation
12-09-11 spawnvex: add generalized spawnveg() replacement
12-07-31 cdt: sync with kpv
12-07-31 error.h: add { Error_write_f, void* handle } for sh_exit()
12-07-30 astsa: update to handle installation that already have { aso cdt sfio vmalloc }

RELEASE notes for src/lib/libcmd/RELEASE

13-09-25 shasum.c: add sha*sum variants
13-09-25 cksum.c: handle SUM_INDICATOR per-method { '*'(binary) ' '(text) } read mode indicator
13-09-25 cksum.c: fix --header to include "text" when --text specified
13-09-25 cksum.c: { -T, --text && -t, --total } => { -t, --text && -T, --total } for gnu compatibility
13-09-22 realpath.c,readlink.c: add based on ast::pathdev()
13-09-22 sync.c: add roland's changes + --sfsync
13-09-19 xarrrrghs.c: halfscore d's be walkin' t'plank t'day: fix run() to work for context==0
13-09-19 head.c,tail.c: count incomplete lines too
13-09-19 do not check for command when /bin/echo implied
13-09-13 cat.c,cmdext.h,cmdlist.h,cut.c,join.c,od.c,paste.c,rev.c,tr.c,uniq.c,wc.c,wc.h,wclib.c: Mbstate_t update
13-08-11 join.c: drop setlocale() call already done by optget()
13-08-11 strcopy() => stpcpy()
13-07-17 tr.c: finally handle ``tr -Cd "[=e=]" <<<"1e2é3"''-- how about a posix equivalence class api
13-07-16 cp.c: limit st_size>0 logic to S_ISREG() files
13-05-01 vmstate.c: update for new vmalloc snarf
13-04-22 grep.c: add first draft of context.c to handle -C
13-04-03 grep.c: fix --highlight to highlight all matches on each line
13-04-03 grep.c: add -o, --only-matching to list matching parts, each part on a separate line
13-02-14 Makefile: add { cmdext.h cmdlist.h } force rebuild -- must do this better
13-02-07 grep.c: drop b_pgrep() but retain p*grep argv[0] check
12-12-12 mktemp.c: fix doc literal [...] => [...]]
12-11-21 wc.c,wclib.c: add --invalid-bytes, -X and fix invalid byte logic
12-10-25 xargs.c: drop bogus "out of space" diagnostic for "command not found"
12-10-24 tr.c: move from src/cmd/builtin
12-10-24 grep.c: change -S,--strict to -p.--strict|lenient, add -K,--ksh-regexp -S,--sh-regexp
12-10-19 od.c: move from src/cmd/builtin
12-10-15 iconv.c: use sh_run() for /usr/bin/iconv -l
12-10-03 cmdlist.h: _AST_VERSION>=20121001 => CMDLIST(command,"directory")
12-10-03 grep.c,xargs.c: move from src/cmd/kshlib/cmdtst
12-10-03 iconv.c: move from src/cmd/std
12-09-27 tail.c: fix bug that exited tail -f on tvsleep() error (who cares if it returned sooner)

RELEASE notes for src/lib/libcodex/RELEASE

13-08-08 codex.c: handle <method>.WINDOW=NNN^<method>...
13-08-06 code-vcodex.c: do not encode more than a window at a time!
13-07-30 codexlist.c: work around installations with obsolete vcodex plugin
13-05-24 code-vcodex.c: add to unify codex<=>vcodex

RELEASE notes for src/lib/libcoshell/RELEASE

13-07-24 coopen.c: close child side of msgfp in parent (stops hung caller on shell failure)
12-12-01 coexec.c,cowait.c: fix service fd bugs

RELEASE notes for src/lib/libcs/RELEASE

13-08-07 csopen.c: NGROUPS_MAX => getconf("NGROUPS_MAX")
12-08-21 msg.h: add MSG_openat

RELEASE notes for src/lib/libdss/RELEASE

13-08-11 strcopy() => stpcpy()
13-04-08 cxopen.c: fix cxmembers() bug that referenced data.string instead of data.string.data (dumped on be 32 bit)
13-04-08 cxopen.c: fix cxcast() ref to use ref data instead of original record!
13-03-10 dssopen.c: move default dss suffix from dssfind() to loadtags()
12-09-04 cxcomp.c: type identifiers only in non-compound var constructs
12-08-15 cx.h,cxopen.c: add cxmembers() default externalf for struct types
12-08-11 cxcomp.c: add logical cast for naked non-numeric variable expression
12-08-01 dssprintf.c: change --all to only list fields with non-default values

RELEASE notes for src/lib/libexpr/RELEASE

12-09-16 exeval.c: one more scanf("%[... fix

RELEASE notes for src/lib/libjcl/RELEASE

13-08-11 strcopy() => stpcpy()
13-06-27 path.c,find.c: add ${N:s%old%new%:...} edit expressions to prefix file
13-03-14 run.c: move --subtmp rm -rf to after the last step
13-03-04 jcl.h,run.c,uniq.c: add { JCL_LISTDD JCL_LISTPARMS }
13-01-15 open.c,run.c: use main scope name for tmp files
13-01-14 run.c: JCL_LISTOUTPUTS => JCL_DISP_NEW or JCL_LIST_MOD
12-12-04 add JCL_SUBTMP
12-11-30 uniq.c: add item labels when more than 1 item type

RELEASE notes for src/lib/libpp/RELEASE

13-08-11 strcopy() => stpcpy()
13-08-11 ppexpr.c,ppop.c: add clang _has_include => #exists, _has_include_next => #exists_next

RELEASE notes for src/lib/librecsort/RELEASE

13-02-13 recsort.h: add { RS_MORE RS_LAST } for RS_READ event
13-02-13 rsprocess.c: add RS_READ event RS_LAST logic

RELEASE notes for src/lib/libsum/RELEASE

13-09-25 sum.h,sumlib.c: add Sum_t.flags and SUM_INDICATOR for gnu { '*'(binary) ' '(text) } read mode indicator

RELEASE notes for src/lib/libtksh/RELEASE

12-08-24  Makefile: shell:20120101

RELEASE notes for src/lib/libvcodex/RELEASE

13-09-25 Vclz4/vclz4.c: add _PACKAGE_ast headers
13-08-07 vcodex.h,vcsfxsort.c: ssize_t (64 bit) => Vcinx_t (32 bit) -- noticable affect on memory footprint
13-06-04 add vcgetsuff() to return suffix given method
13-05-29 add Vcodex_t.errorf -- not suitable for discipline level
13-05-27 add vcxml.c
13-05-23 api change: vcgetfname(char* path, char** meth, char** suff)
13-05-22 add Vclz4 from Chris Rath
13-05-09 kpv sync
13-04-23 move open source plugins from vcodexlib
13-01-03 vcsfio.c: handle decode of encoded /dev/null
12-12-05 vcsfio.c: all for expansion in data write
12-11-27 vcodex.h,vcsfio.c: add VC_DECODE|VC_OPTIONAL

RELEASE notes for src/lib/libvgraph/RELEASE

13-04-23 kpv snarf
  • Loading branch information
Lefteris Koutsofios committed Jan 11, 2016
1 parent 3f54fd6 commit 7e89f11
Show file tree
Hide file tree
Showing 1,776 changed files with 120,761 additions and 64,110 deletions.
83 changes: 51 additions & 32 deletions bin/package
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
USAGE_LICENSE="[-author?Glenn Fowler <gsf@research.att.com>][-copyright?Copyright (c) 1994-2012 AT&T Intellectual Property][-license?http://www.eclipse.org/org/documents/epl-v10.html]"
USAGE_LICENSE="[-author?Glenn Fowler <gsf@research.att.com>][-copyright?Copyright (c) 1994-2013 AT&T Intellectual Property][-license?http://www.eclipse.org/org/documents/epl-v10.html]"
### this script contains archaic constructs that work with all sh variants ###
# package - source and binary package control
# Glenn Fowler <gsf@research.att.com>
Expand Down Expand Up @@ -65,6 +65,8 @@ admin_ditto_skip="OFFICIAL|core|old|*.core|*.tmp|.nfs*"
admin_list='PACKAGE.$type.lst'
admin_ping="ping -c 1 -w 5"

pid=$$

default_url=default.url
MAKESKIP=${MAKESKIP:-"*[-.]*"}
RATZ=ratz
Expand All @@ -79,7 +81,7 @@ all_types='*.*|sun4' # all but sun4 match *.*
case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
0123) USAGE=$'
[-?
@(#)$Id: package (AT&T Research) 2012-06-28 $
@(#)$Id: package (AT&T Research) 2013-07-17 $
]'$USAGE_LICENSE$'
[+NAME?package - source and binary package control]
[+DESCRIPTION?The \bpackage\b command controls source and binary
Expand Down Expand Up @@ -280,7 +282,7 @@ case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in
[+results\b [ \bfailed\b ]] [ \bpath\b ]] [ \bold\b ]] [\bmake\b | \btest\b | \bwrite\b ]]?List
results and interesting messages captured by the most recent
\bmake\b (default), \btest\b or \bwrite\b action. \bold\b
specifies the previous results, if any (current and previous
specifies the previous results, if any (current and previous 9
results are retained.) \b$HOME/.pkgresults\b, if it exists,
must contain an \begrep\b(1) expression of result lines to be
ignored. \bfailed\b lists failures only and \bpath\b lists the
Expand Down Expand Up @@ -1101,7 +1103,7 @@ ${bT}(5)${bD}Read all unread package archive(s):${bX}
results [ path ] [ old ] [ make | test ]
List results and interesting messages captured by the most
recent make (default), test or write action. old specifies the
previous results, if any (current and previous results are
previous results, if any (current and previous 9 results are
retained.) $HOME/.pkgresults, if it exists, must contain an
egrep(1) expression of result lines to be ignored. failed lists
failures only and path lists the results file path only.
Expand Down Expand Up @@ -1762,7 +1764,7 @@ hostinfo() # attribute ...
case $cpu in
0|1) cpu=`(
cd ${TMPDIR:-/tmp}
tmp=hi$$
tmp=hi$pid
trap 'rm -f $tmp.*' 0 1 2
cat > $tmp.c <<!
#include <stdio.h>
Expand Down Expand Up @@ -1800,7 +1802,7 @@ int main()
case $rating in
[0123456789]*) ;;
*) cd ${TMPDIR:-/tmp}
tmp=hi$$
tmp=hi$pid
trap 'rm -f $tmp.*' 0 1 2
cat > $tmp.c <<!
#include <stdio.h>
Expand Down Expand Up @@ -2413,7 +2415,7 @@ int main()
;;
*) pwd=`pwd`
cd ${TMPDIR:-/tmp}
tmp=hi$$
tmp=hi$pid
trap 'rm -f $tmp.*' 0 1 2
cat > $tmp.a.c <<!
extern int b();
Expand Down Expand Up @@ -2471,7 +2473,7 @@ int b() { return 0; }
*universal*64*)
pwd=`pwd`
cd ${TMPDIR:-/tmp}
tmp=hi$$
tmp=hi$pid
trap 'rm -f $tmp.*' 0 1 2
cat > $tmp.a.c <<!
int main() { return 0; }
Expand All @@ -2491,8 +2493,22 @@ int main() { return 0; }
;;
esac
case $bits in
32) case $type in
*.i386) bits= ;;
32) case $CC-$CCFLAGS in
*-m64*) case $type in
*.i386) bits=32 ;;
esac
;;
*) case $type in
*.i386) bits= ;;
esac
;;
esac
;;
64) case $CC-$CCFLAGS in
*-m32*) case $type in
*.i386) bits= ;;
esac
;;
esac
;;
esac
Expand Down Expand Up @@ -2824,20 +2840,20 @@ cat $INITROOT/$i.sh

(
cd /tmp || exit 3
cp $INITROOT/hello.c pkg$$.c || exit 3
$cc -o pkg$$.exe pkg$$.c > pkg$$.e 2>&1 || {
if $cc -Dnew=old -o pkg$$.exe pkg$$.c > /dev/null 2>&1
trap "rm -f pkg$pid.*" 0 1 2
cp $INITROOT/hello.c pkg$pid.c || exit 3
$cc -o pkg$pid.exe pkg$pid.c > pkg$pid.e 2>&1 || {
if $cc -Dnew=old -o pkg$pid.exe pkg$pid.c > /dev/null 2>&1
then echo "$command: ${warn}$CC: must be a C compiler (not C++)" >&2
else cat pkg$$.e
else cat pkg$pid.e
echo "$command: ${warn}$CC: failed to compile and link $INITROOT/hello.c -- is it a C compiler?" >&2
fi
exit 2
}
if ./pkg$$.exe >/dev/null 2>&1
if ./pkg$pid.exe >/dev/null 2>&1
then code=0
else code=1
fi
rm -f pkg$$.*
exit $code
)
code=$?
Expand Down Expand Up @@ -3193,7 +3209,7 @@ cygwin.*)
lose=ntsec
;;
*ntsec*);;
*) exe=/tmp/pkg$$.exe
*) exe=/tmp/pkg$pid.exe
rm -f $exe
: > $exe
if test -x $exe
Expand Down Expand Up @@ -4428,9 +4444,9 @@ admin) while test ! -f $admin_db
esac
: type=$type host=$host root=$root date=$date time=$time make=$make test=$test write=$write :
name=$host
host=`echo $name | sed 's,[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789],__,g'`
eval x='$'${host}_index
eval ${host}_index=1
hash=`echo $name | sed 's,[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789],__,g'`
eval x='$'${hash}_index
eval ${hash}_index=1
case $x in
1) i=0
while :
Expand All @@ -4440,9 +4456,9 @@ admin) while test ! -f $admin_db
;;
esac
i=`expr $i + 1`
eval h='$'${admin_host}${i}_name
eval h='$'${admin_host}${i}_hash
case $h in
$host) host=${admin_host}${i}
$hash) host=${admin_host}${i}
eval user='$'${host}_user root='$'${host}_rsh:$host:'$'${host}_root
break
;;
Expand Down Expand Up @@ -4565,7 +4581,7 @@ admin) while test ! -f $admin_db
'') local_hosts="$local_hosts $host"
;;
esac
eval ${host}_name='$'name ${host}_type='$'type ${host}_user='$'user ${host}_sync='$'sync ${host}_snarf='$'sync ${host}_rsh='$'rsh ${host}_root='$'root ${host}_keep='$'keep ${host}_log='$'log
eval ${host}_name='$'name ${host}_hash='$'hash ${host}_type='$'type ${host}_user='$'user ${host}_sync='$'sync ${host}_snarf='$'sync ${host}_rsh='$'rsh ${host}_root='$'root ${host}_keep='$'keep ${host}_log='$'log
;;
esac
done
Expand Down Expand Up @@ -4866,13 +4882,17 @@ admin) while test ! -f $admin_db
*) case " $hosts " in
*" $2 "*)
: ast date command assumed :
E=`eval date -E \`egrep '[ ](start|done)[ ][ ]*at[ ]' $admin_log/$2 | sed -e 's/.*[ ][ ]*at[ ][ ]*//' -e 's/[ ][ ]*in[ ].*$//' -e 's/.*/"&"/'\``
log=$admin_log/$2
if [[ -f $log.$1 ]]
then log=$log.$1
fi
E=`eval date -E \`egrep '[ ](start|done)[ ][ ]*at[ ]' $log | sed -e 's/.*[ ][ ]*at[ ][ ]*//' -e 's/[ ][ ]*in[ ].*$//' -e 's/.*/"&"/'\``
M=$6 T=$7 W=$8
case $admin_action in
make|view)
M=`egrep -c ']:.* (\*\*\*.* code|don'\''t know) | \*\*\* termination code ' $admin_log/$2` ;;
test) T=`grep -ci 'fail[es]' $admin_log/$2` ;;
*) W=`grep '^[abcdefghijklmnopqrstuvwxyz][abcdefghijklmnopqrstuvwxyz]*:.' $admin_log/$2 | egrep -cv 'start at|done at|output captured|warning:|: package not found|whence: command not found'` ;;
M=`egrep -c ']:.* (\*\*\*.* code|don'\''t know) | \*\*\* termination code ' $log` ;;
test) T=`grep -ci 'fail[es]' $log` ;;
*) W=`grep '^[abcdefghijklmnopqrstuvwxyz][abcdefghijklmnopqrstuvwxyz]*:.' $log | egrep -cv 'start at|done at|output captured|warning:|: package not found|whence: command not found'` ;;
esac
case $1 in
?|??|???|????|?????|??????|???????)
Expand Down Expand Up @@ -5528,7 +5548,7 @@ make|view)
$b*) cc=$b
;;
$s*) cd $INSTALLROOT/lib/package/gen
tmp=pkg$$
tmp=pkg$pid
eval '$'exec echo "'int main(){return 0;}' > $tmp.c"
if $exec $s -o $tmp.exe $tmp.c >/dev/null 2>&1 &&
test -x $tmp.exe
Expand Down Expand Up @@ -5609,7 +5629,7 @@ make|view)
esac
case $exec in
'') cd $INSTALLROOT/lib/package/gen
tmp=pkg$$
tmp=pkg$pid
echo 'int main(){return 0;}' > $tmp.c
if $CC -o $tmp.exe $tmp.c > /dev/null 2> $tmp.err &&
test -x $tmp.exe
Expand Down Expand Up @@ -5840,8 +5860,7 @@ cat $j $k
then eval capture nmake $nmakeflags \$makeflags \$noexec install ksh93 $assign
case $make$noexec in
'') if executable ! $KSH
then echo "$command: $action: errors making $KSH" >&2
exit 1
then echo "$command: $action: warning: errors making $KSH" >&2
fi
;;
*) make=echo
Expand Down Expand Up @@ -6539,7 +6558,7 @@ results)set '' $target
*:test:*/ksh*) filter=rt ;;
esac
;;
old) suf=old
old) suf=$suf.*
;;
on) case $# in
1) echo $command: $action: $1: host pattern argument expected >&2
Expand Down
20 changes: 20 additions & 0 deletions lib/package/INIT.README
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,26 @@ All recorded changes follow.

:::::::: INIT ::::::::

13-09-25 iffe.sh: add _${API}_API_IMPLEMENT guards for implementation code
13-08-11 iffe.sh: executed blocks now have a single argument that is a tmp file prefix
13-08-11 iffe.sh: fix intrinsic function test to rule out type names
13-07-17 iffe.sh: add '^#include.*iffe --include-first' for *.c feature test macro initialization
13-07-17 package.sh: refix 13-06-17 fix to check both $CC and $CCFLAGS
13-06-24 add -lsocket => -lsocket -lnsl for systems that don't have it in -lc
13-06-17 package.sh: fix host type logic to handle -m32/-m64 almost cross-compile
13-05-21 C+probe: add ksh-2013-05-21 `...` hang workaround -- FIXME
13-05-17 package.sh: package make should continue if ksh fails to build
13-05-17 make.probe: fix CC.DIALECT+=EXPORT=DLL logic
13-05-13 MAPLIB.mk: workaround ppcc+bash not handling '-o t t.c'
13-05-01 package.sh: add ``results path old'' for *.out.*
13-03-20 make.probe: add CC.NM.NMFLAGS for stupid stupid stupid aix -Xany
13-03-06 handle incompletely defined types e.g. "typ DIR dirent.h"
12-12-05 C+probe: elide */tmp/* and */probe[0-9]* from stdinclude
12-10-25 ditto.sh: set DITTO_OPTIONS=dst=1 in destination read script
12-09-27 package.sh: fix admin log total logic
12-09-18 cc.ibm.risc: fix -O disable logic that ate next arg
12-09-11 make.probe: fix sunos cc/CC CC.STDLIB probe
12-08-24 iffe.sh: add ``api n1 = n2''
12-07-17 iffe.sh: add C code NOTE("...") to ammend --verbose output
12-06-26 iffe.sh: fix "npt foo" to handle function-like macro foo()
12-06-20 package.sh: use $KSH for rt in "results test"
Expand Down
22 changes: 21 additions & 1 deletion lib/package/INIT.html
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,26 @@
<P><HR><CENTER><FONT color=red><FONT face=courier><H3><A name="INIT changes">INIT changes</A></H3></FONT></FONT></CENTER>
<PRE>

13-09-25 iffe.sh: add _${API}_API_IMPLEMENT guards for implementation code
13-08-11 iffe.sh: executed blocks now have a single argument that is a tmp file prefix
13-08-11 iffe.sh: fix intrinsic function test to rule out type names
13-07-17 iffe.sh: add '^#include.*iffe --include-first' for *.c feature test macro initialization
13-07-17 package.sh: refix 13-06-17 fix to check both $CC and $CCFLAGS
13-06-24 add -lsocket =&gt; -lsocket -lnsl for systems that don't have it in -lc
13-06-17 package.sh: fix host type logic to handle -m32/-m64 almost cross-compile
13-05-21 C+probe: add ksh-2013-05-21 `...` hang workaround -- FIXME
13-05-17 package.sh: package make should continue if ksh fails to build
13-05-17 make.probe: fix CC.DIALECT+=EXPORT=DLL logic
13-05-13 MAPLIB.mk: workaround ppcc+bash not handling '-o t t.c'
13-05-01 package.sh: add ``results path old'' for *.out.*
13-03-20 make.probe: add CC.NM.NMFLAGS for stupid stupid stupid aix -Xany
13-03-06 handle incompletely defined types e.g. "typ DIR dirent.h"
12-12-05 C+probe: elide */tmp/* and */probe&#0091;0-9&#0093;* from stdinclude
12-10-25 ditto.sh: set DITTO_OPTIONS=dst=1 in destination read script
12-09-27 package.sh: fix admin log total logic
12-09-18 cc.ibm.risc: fix -O disable logic that ate next arg
12-09-11 make.probe: fix sunos cc/CC CC.STDLIB probe
12-08-24 iffe.sh: add ``api n1 = n2''
12-07-17 iffe.sh: add C code NOTE("...") to ammend --verbose output
12-06-26 iffe.sh: fix "npt foo" to handle function-like macro foo()
12-06-20 package.sh: use $KSH for rt in "results test"
Expand Down Expand Up @@ -996,7 +1016,7 @@
<TR>
<TD align=left></TD>
<TD align=center></TD>
<TD align=right>August 07, 2012</TD>
<TD align=right>October 09, 2013</TD>
</TR>
</TABLE>
<P>
Expand Down
2 changes: 1 addition & 1 deletion lib/package/INIT.ver
Original file line number Diff line number Diff line change
@@ -1 +1 @@
INIT 2012-08-01 2012-08-01 1
INIT 2013-10-10 2013-10-10 1
35 changes: 35 additions & 0 deletions lib/package/LICENSES/bsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
+------------------------------------------------------------------------------+
| This license covers all software that refers to the URL |
| http://www.opensource.org/licenses/bsd-license.php |
+------------------------------------------------------------------------------+

The BSD License

Copyright (c) <YEAR>, <OWNER>
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
* Neither the name of the <ORGANIZATION> nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Loading

0 comments on commit 7e89f11

Please sign in to comment.