Fix "storage size of buf is not known" likely caused by it being defined
to be something with sizeof().
add LDFLAGS -lm to all operating systems (I see undefined reference to
frexpl/ldexpl), remove duplicate from other operating systems.
bump PKGREVISION sinze L_tmpnam will be changed for the few who can build
the package.
(and __EXTENSIONS__ for strict STDC). Also needs -lm.
Fix testing to work prior to [stage-]install. No revbump needed.
okay'd by jperkin@
NB there are still some corner cases not working on some SunOS, but
on illumos SunOS 5.11 this actually goes a real long way over stock sh/ksh!
Existing SHA1 digests verified, all found to be the same on the
machine holding the existing distfiles (morden). Existing SHA1
digests retained for now as an audit trail.
Changelog:
# ksh93
12-08-01 A bug that ignored interrupts for some builtins (e.g. cmdtst::grep)
that read from stdin has been fixed.
12-08-01 A bug that interpreted "cd .foo" as "cd foo" has been fixed.
12-07-30 Added automatic restart for EINTR for ioctl, tcgetattr, and tcsetattr.
12-07-23 A scoping error with namrefs to compound associative arrays has
been fixed.
12-07-20 A bug where builtin -d /path/foo deleted foo has been fixed.
12-07-18 A bug in which /dev/stdout did not work in command substitution on
some systems has been fixed.
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-09 A bug in which the directory is not restored after a subshell changes
the name of the directory for subshells executed in the same process
has been fixed.
12-07-09 A bug in which file descriptors created with {n}< file were not being
closed has been fixed.
12-07-09 The 12-04-04 fix for cd .. was not correct causing cd /etc;cd .. to
remain in /etc. This has been fixed.
12-07-02 A bug in which builtin name did now work for builtins found in a
library added by builtin -f lib has been fixed.
12-07-02 A bug in the edit modes which <tab> after a directory did not refresh
the input line has been fixed.
12-07-02 A bug in which an exit status > 256 corresponding to a signal was
not returned by a function to indicate a signal exit has been fixed.
12-06-28 Fix ulimit -a to list (Kibytes) instead of (kbytes).
12-06-27 Fix unitialized data reference for <CR> as first char in --vi mode.
12-06-26 The formatting of printf "%q" for multibyte locales has changed to
output using \u[xxx] format for valid wide characters.
12-06-25 The size limit for read -N and read -n has been raised to INT_MAX.
12-06-22 A bug in which an exit trap set in a subshell might not be triggered
when the last command was a simple executable has been fixed.
12-06-22 A bug which could cause the shell to hang when a coprocess exits
while a command inside a command substitution is reading from it has
been fixed.
12-06-21 +ksh new accepts for commands of the form for i; <nl> do;...;done
12-06-19 Tab completion after a / when there is only one match not completes
with that match rather than generating a menu of matches.
12-06-19 A bug in which patterns containing {...} where not processed
correctly inside ${var/pattern/string} has been fixed.
12-06-15 Change the .paths plugin/builtin library variable name from
BUILTIN_LIB to PLUGIN_LIB to prevent new plugin_version() aware
-lcmd from causing older non-plugin_version() aware ksh to dump core.
12-06-14 builtin without argument no longer lists .sh.tilde as a built-in.
12-06-12 For assignments if the form x=(foo bar), foo is only check for an
alias if it is float, integer, compound, or nameref.
12-06-12 +The shell supports 64 bit i-nodes even for 32 bit binaries.
12-06-11 A bug wth >; redirection systems for which vfork() was the same a
fork() has been fixed.
12-06-11 A bug in path lookup that ignored buffer boundaries has been fixed.
12-06-08 typeset -a var and typeset -A var, first unset var when var is
a compound variable.
12-06-08 A bug in which running shcomp on a program containg namespace
could core dump has been fixed.
12-06-06 A bug in which unset of an associative array of compound variables
did not completely unset the variable has been fixed.
12-06-06 A bug in which exporting left or right justfied fields could loose
the field width has been fixed.
12-06-06 A bug on Solaris11 in which >; did not work for /dev/null was fixed.
12-06-05 A race condition which occured when stopping a builtin command
invoked from a subshell has been fixed.
12-06-05 A bug with appending elements to an empty indexed array has been
fixed.
12-06-04 A bug in which continuing a stopped builtin could cause it to
terminate has been fixed.
12-06-04 By default, builtins added at runtime will restore the current
directory if they are killed or stopped.
12-06-04 A bug in handling \ in read has been fixed.
12-05-31 Use getrlimit64/setrlimit64 on systems that support it.
12-05-31 Fix 64 bit big-endian arithmentic bug that mishandled nan and inf.
12-05-31 Handle ECONNRESET like EPIPE.
12-05-31 Change .paths parse to use only the last BUILTIN_LIB from the top
and treat BUILTIN_LIB value as a ':' separated list of lib names.
12-05-29 Fix BUILTIN_LIB binding bug that ignored subsequent lookups.
12-05-29 shtests: --nocompile omits the compile test and --compile does only
the compile test.
12-05-25 A command subsitution containing a here-document that itself contains
a here-document no longer hangs.
12-05-24 When the redirection operatory >; is directed to a symlink, it now
overwrites the file named by the link rather than the link.
12-05-21 +Added printf formats %(type)q where type can be html, url, pattern,
ere, or csv.
12-05-18 A bug with appending elements to an indexed array has been fixed.
12-05-18 The exit status from getopts --man interactively was 0 instead of 2
and has been fixed.
12-05-18 Another bug with SHOPT_EDPREDICT which could cause a core dump has
been fixed.
12-05-17 A bug with fixed size arrays which could cause a core dump has been
fixed.
12-05-17 A bug in which the here-document <<< $(<file) was not processed
correctly has been fixed.
12-05-15 The default value for -L, -R, and -Z when the size was not set was
incorrectly defaulting to 1 and has been fixed.
12-05-15 A bug in which a subshell of the form (name=value exec ...) could
coredump when name is an environment variable and xtrace is on has
been fixed.
12-05-15 Fixed a .paths bug in which only the first BUILTIN_LIB assignment worked.
12-05-14 Arithmetic expressions and subexpressions that are not floating point
now treat -0 as 0, so that $((-0)) is 0 and $((-0.0)) is -0.
12-05-11 'unset .sh' now fails with readonly message instead of coredump.
12-05-11 A bug which left an associative array arr containing one element in
the wrong state after expanding with ${arr[@]} has been fixed.
12-05-10 A bug in which typeset -f did not display options that called getopts
has been fixed.
12-05-08 Fixed a number of potential bugs uncovered by valgrind.
12-05-08 A bug in which typeset -b -Z10 var did not initialize var to the
empty string has been fixed.
12-05-07 A bug in which the exit value of an interactive shell could be
affected by the evaluation of the PS1 prompt has been fixed.
12-05-04 A bug in which x=() was not unsetting the old value of x before
creating an empty compound variable has been fixed.
12-05-01 A bug in vi edit mode in which after <ESC>^V, the terminal was not
restored to insert mode after a character is entered has been fixed.
12-04-27 A bug in which old attributes were not cleared when assigning a
value using typeset has been fixed.
12-04-26 +Enabled multiline editing by default. set +o multiline can disable.
12-04-25 The 12-04-17 PATH fix created a new bug which was fixed.
12-04-25 Fixed a big memory leak problem in which unsetting compound variables
did not free all the space.
12-04-25 A bug in which test ! ! ! was treated as an error has been fixed.
12-04-24 A bug with print -v for a compound variable that contained fixed
arrays which prevented the output from being used again as input
has been fixed.
12-04-23 +kill provides the STKFLT signal on systems that support it.
12-04-23 +The -L option was added to kill. The -L option is the same as -l
except that without arguments the output format is in the form of
a select menu.
12-04-23 A bug in which the exit status for an interactive shell was always
0 has been fixed.
12-04-20 Entering blank lines interactively no longer resets the exit status.
12-04-18 A bug in file completion in which the second tab completion on a file
would list the completion rather than inserting the completion has
been fixed.
12-04-18 A bug in which "${arr[@]:i:j}" and "${@:i:j}" generated the empty
string when i was a valid subscript and j was <=0 rather than
generating nothing has been fixed.
12-04-17 A bug in which read -d delim from a terminal did not respond to
interrupt and did not termrinate when the delimiter was entered
has been fixed.
12-04-17 A bug in which a directory in PATH containing a .paths file that
contains a line with FPATH=dir, where dir does not exist could
cause the path search to fail has been fixed.
12-04-16 A bug in which $(trap -p) did not display traps such as ERR and
DEBUG that are not associated with signals has been fixed.
12-04-11 A bug in which unsetting a variable did not unset attributes when
the variable did not have a value has been fixed.
12-04-11 A bug in which read -A for an array whose index is an enumeration
type, lost the enumeration type has been fixed.
12-04-10 Shared libraries loaded from a library named by a BUILTIN_LIB= found
in a .paths file found in a directory on PATH now add builtins that
are associated with the directory in PATH containing the .paths file.
12-04-09 Increased I/O buffer sizes for better performance.
12-04-09 A bug in which the leading 0 was stripped from $x, when $x contained
a heximadecimal constant inside an arithmetic expression inside
a for or while loop.
12-04-06 Modified namespaces to hand variabes FPATH, PATH, and OPTIND that
are defined in name spaces appropriately. This also fixed OPTIND
and OPTARG processing for functions.
12-04-04 A bug in which cd .. fails when the current directory has been
renamed has been fixed.
12-04-02 Made some namespace changes and added a regression test.
12-03-30 A bug with namespaces in which PATH and FPATH set in a namespace was
not restored when leaving the namespace has been fixed.
12-03-29 --- Release ksh93u++ ---
12-03-29 A bug in which appending an index array onto an array without elements
caused the first element to be 1 rather than 0 has been fixed.
12-03-29 A bug which could cause a core dump when copying a large index array
has been fixed.
12-03-28 The shell now generates an error message when the sizes with L, Z, and
R are > 32767 on 32 bit binaries instead of generating a core dump.
12-03-28 A bug in left and right justification in which the width of invalid
characters was not taken as zero has been fixed.
12-03-26 A bug in which typeset -p ref, when ref is a reference to an index
array element did not display the subscript has been fixed.
12-03-23 A bug in lowercase and uppercase fields when expanding ${name:=val}
when name is the empty string has been fixed.
12-03-22 A namespace bug in which a type t defined in namespace foo could not
be referenced outside the namespace as .foo.t has been fixed.
12-03-22 A bug in name reference scoping in which a name function called from
another function is pass a name reference to a compound variable
instance to be created and the compound variable is in the global
scope.
12-03-22 A bug in which ${ref[@}} did not behave like ${arr[i][@]} when
ref is a name reference to arr[i] has been fixed.
12-03-21 A bug in which assigning a compound variable into arr[i], where
arr[i] is an array variable did not work correctly has been fixed.
12-03-21 A bug with multi-dimenstional index arrays in which ${arr[i][j]}
could generate a bogus error message when i was > 9 has been fixed.
12-03-21 A bug in which typeset v=foo, typeset -p v[0] generated a core dump
has been fixed.
12-03-20 A bug in vi edit mode in which the sequence bar<ESC>0i<ESC>l left the
cursor on the b rather than the a has been fixed.
12-03-20 A bug which caused a core dump when defining a type with a field
as ' integer -a data=([0]=0)' has been fixed.
12-03-19 Using typeset -a array when array is an associative arry not
generated an error message.
12-03-19 typeset +a, typeset +A, and typeset +C not displays the variables
with the attributes a, A, and C respectively instead of an error.
12-03-19 A bug in which typeset -pC, typeset -pa, and typeset -pA output all
variables rather than those of type C, a, or A only has been fixed.
12-03-18 A bug in which unset foo where foo is a name reference to a compound
variable defined inside a function is not unset has been fixed.
12-03-18 A bug with SHOPT_EDPREDICT which could cause a core dump when the
list of matches became empty has been fixed.
12-03-15 The assignment, typeset -C foo=(a b c) now generates a syntax
error since a is not an assignment command.
12-03-16 A bug in which an unset discipline from a variable defined in a
subshell is not invoked in the subshell has been fixed.
12-03-08 The assignment typeset -a (x=1 y=2) now creates an index array
of two elements rathern than an array of one element which is
a compound variable.
12-03-02 +The vi and emacs edit modes now list all the entries in a directory
when entering a <tab> for completion after a /.
12-03-02 A bug in which a program that exits with value 12 when called
from a command substitution in which standard output has been
redirected caused the shell to hang has been fixed.
12-03-01 A bug in which the shell could not parse [[ ']' == ~(E)[]] ]]
has been fixed.
# INIT
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"
12-06-15 Makefile: add PLUGIN_LIB to $INSTALLROOT/bin/.paths and BUILTIN_LIB => PLUGIN_LIB
12-06-15 package.sh: add PLUGIN_LIB to $INSTALLROOT/bin/.paths and BUILTIN_LIB => PLUGIN_LIB
12-06-13 package.sh: handle admin.db column output
12-06-08 iffe.sh: fix 12-06-06 typo
12-06-06 iffe.sh: check for -l* in reverse and accumulative order (e.g., for -last & -lm)
12-06-04 package.sh: always check $INSTALLROOT/lib/package/profile
12-05-31 Makefile: ID=ast; $(INSTALLROOT)/prototyped.h => $(INSTALLROOT)/$(ID)/prototyped.h
12-05-28 iffe.sh: api foo YYYYMMDD => FOOAPI(rel) test macro
12-05-24 package.sh: change admin.db comment => owner attributes
12-04-25 ratz.c: add sear -k option to keep installation tmp dir on exit
12-04-17 package.sh: skip sh version logic for ``use''
12-04-17 cc.ibm.risc*: _LARGEFILE64_SOURCE => _LARGE_FILE_API moved to libast/features
12-04-09 cc.ibm.risc*: speak aixese for _LARGEFILE64_SOURCE
12-02-29 cc.darwin.i386*: handle default cc vs kernel bittedness
12-02-29 C+probe: add __TIMESTAMP__ to the nopredefined list
12-02-29 package.sh: don't assume grep -q or /usr/local/lib in LD_LIBRARY_PATH
12-02-29 package.sh: fix ksh vs -lcmd compatibility checks
This unbreaks at least one of AST/ksh packages.
Changes since 2006-02-14:
2012-02-29
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2012-02-29.2011-02-08.html
2011-02-08
This source release contains the first official ksh93u.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2011-02-08.2010-08-26.html
2010-08-26
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2010-08-26.2010-06-21.html
2010-06-21
This source release contains the last official ksh93t+.
The only updates for ksh93t+ will be hotfixes for serious bugs.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2010-06-21.2010-06-18.html
2010-03-09
This source and binary release contains a fix for the
2010-03-01 ksh memory leak plus a few minor fixes to clean
up the bit rot that accumulated since 2009-07-04.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2010-03-09.2010-03-01.html
2010-03-01
This source and binary release contains minor fixes to the
unannounced 2010-02-02 release. It is the first official
non-beta release in almost 8 months (we really do try to
decrease the time between official releases, but the
abundance of moving targets sometimes makes that
interesting). See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2010-03-01.2010-02-02.html
2010-02-02
This source and binary release includes:
# fixes for problems reported by the OpenSolaris community
as part of the ksh93 integration project
# a UWIN update with initial support for Windows 7,
improved handle and process resource management, and
improved /var/log/uwin logging
# an expanded man page index that includes the UWIN man
pages in the U subsections and nmake(1) rule and operator
man pages in the 1M subsection
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2010-02-02.2009-07-04.html
2009-07-04
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2009-07-04.2009-05-05.html
2009-05-05
This source and binary release cleans up a few reported
build problems in the 2009-05-01 release (which has been
removed). The release procedures have been adjusted to avoid
similar problems in the future. (The main problem is
synthesizing external non-ast environments to fully exercise
portions of the build system seen by outside users -- since
we use our stuff for everything, including packaging and
building, setting up an environment that has no ast
components leaking in can be non-trivial).
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2009-05-05.2009-05-01.html
2009-05-01
This source release contains the official (and hopefully
final) ksh93t+ 2009-05-01, along with updates for the ast
commands and libraries. A lot of work went into cleaning up
the regression tests -- most regressions directly correspond
to unsupported native system features or buggy native system
interfaces that we felt should be fixed rather than worked around.
Of course we could be persuaded otherwise.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2009-05-01.2008-11-04.html
2008-11-04
This source release contains the official ksh93t 2008-11-04,
along with updates for a few ast-open commands, libraries and plugins.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2008-11-04.2008-07-25.html
2008-07-25
This source release corrects the build problems in the 2008-06-24 source release.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2008-07-25.2008-06-24.html
2008-06-24
This source release contains first release of ksh93t and support libraries.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2008-06-24.2008-02-02.html
2008-02-02
This release addresses standalone build problems and issues
raised on the lists. It also contains the final ksh93s+ release.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2008-02-02.2007-11-05.html
2007-11-05
This release adresses issues raised on the lists.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2007-11-05.2007-03-28.html
2007-03-28
Yes -- a new release in only 3 months. This release contains
fixes and features that address the issues raised on the lists.
A summary of recent ksh93 changes:
1. Double precision floating point arithmetic with full C99
arithmetic support on systems that provide the C99
arithmetic functions. The numbers Inf and NaN can be
used in arithmetic expressions.
2. TAB-TAB completion generates a numbered list of
completions which the user can select.
3. Support for processing/handling multibyte locales (e.g.,
en_US.UTF-8, hi_IN.UTF-8, ja_JP.eucJP, zh_CN.GB18030,
zh_TW.BIG5 etc.) has been extensively revised, tested,
and is now supported even on the language level (e.g.
variable and function identifiers may contain locale
specific codeset characters).
4. /dev/(tcp|udp|sctp)/host/sevrice now handles IPv6
addresses on systems that provide getaddrinfo(3).
5. The ability to seek on a file by offset or content with
new redirection operators.
6. A new --showme option which allows portions of a script
to behave as if -x were specified while other parts
execute as usual. This simplifies the coding of make -n
style semantics at the script level by eliminating code
replication. In particular, io redirections are handled
by --showme.
7. The [[...]] operator =~ has been added which compares
the string to an extended regular expression rather than
== which compares against a shell pattern.
8. The printf(1) builtin has been extended to support the =
flag for centering a field. The # flag when used with
%d and %i provides values in units of thousands or 1024
respectively with an appropriate suffix added.
9. Example screenshots from joint work with the Solaris
ksh93 integration project are available here.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2007-03-28.2007-01-11.html
2007-01-11
This release, almost a year from the last big release,
contains changes based on feedback from the { ast-users
ast-developers uwin-users uwin-developers } lists and the
ongoing ksh93-solaris integration project. Thanks to all
who helped. Our resolution this year is to increase release
frequency to keep internal and external source/binaries
more in sync. See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2007-01-11.2006-02-14.html
2006-05-01
Change log at
http://www2.research.att.com/~gsf/download/release.2006-05-01.2006-02-14.html
is empty.
INSTALLATION_DIRS, as well as all occurrences of ${PREFIX}/man with
${PREFIX}/${PKGMANDIR}.
Fixes PR 35265, although I did not use the patch provided therein.
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
rather than PKG_FAIL_REASON, so that they provide useful error
messages in build logs, and so that they continue to work on platforms
where they aren't broken.
+SHELL.
* Turn PKG_REGISTER_SHELLS into a variable that can be set in the shell
environment so that admins can make a choice when installing from
binary packages.
* PKG_SHELL is now a list of paths, and if the path is relative, then it
is taken to be relative to ${PREFIX}. Convert packages that set
PKG_SHELL to take advantage of this new feature by changing the full
paths to the shells into relative paths.
Changes since 20030621:
* A bug in which could cause memory corruption when a posix
function invoked another one has been fixed.
* A bug in which a file descriptor>2 could be closed before
executing a script has been fixed.
* A parsing error for <() and >() process subsitituions inside
command substitution has been fixed.
* A parsing error for patterns of the form {...}(...) when
used inside ${...} has been fixed.
* An error in which expanding an indexed array inside a compound
variable could cause a core dump has been fixed.
* A bug in which under on rare ocassions a job completion interrupt
could cause to core dump has been fixed.
* A bug in which process substitution embeded within command
substitution would generate a syntax error has been fixed.
This update does also fix the build problems on NetBSD-current reported
by Steven M. Bellovin in PR pkg/22422.
Changes since 20030422 (from the release notes):
A source and binary update. There are few small but significant patches
for ksh and nmake. nmake -l/+l library list generation is much improved.
IBM z-series { linux.s390, linux.s390-64 } and i-series { linux.ppc64 }
binary architectures have been added, and the ebcdic { mvs.390 } has
been updated after a long absence.