Log message:
shells/ksh93: update to 1.0.10
# Main changes between ksh 93u+m/1.0.9 and 93u+m/1.0.10:
Fixed a serious and longstanding bug in the arithmetic subsystem that
was triggered on non-Intel processors (such as ARM): any division of an
integer by a negative integer threw a spurious "divide by zero" error.
This bug has been in ksh since 2005.
Fixed a regression where a broken pipe signal (SIGPIPE), when occurring
in a pipe construct within a subshell, caused incorrect signal handling
in the parent/main shell, in some cases causing a script to abort.
Fixed a bug where printf %T, after having printed the time in UTC once
with the TZ variable set to "UTC", would always print the time in UTC
from then on, even if the TZ variable was changed to another time zone.
The history expansion character (! by default) is now not processed when
immediately following ${. This makes it possible to use expansion syntax
like ${!varname} and ${!prefix@} on the interactive command line with
the histexpand option on; these no longer trigger an "event not found"
error.
The shell is now capable of handling more than 32767 simultaneous
background jobs, subject to system limitations.
|
Log message:
shells/ksh93: update to v1.0.9
Many PLIST changes since the main binary is now linked dinamically.
# upstream changes
* Android/Termux is now a supported platform. Build dependencies:
binutils, clang, getconf. Runtime dependencies (optional):
ncurses-utils, getconf.
* Reintroduced support for building a dynamically linked
ksh(1)/shcomp(1), with libast, libdll, libcmd, and libshell available
to other programs as dynamic libraries. bin/package install
/your/basepath will install development headers. The dynamically
linked version is built in a dyn subdirectory; there are no changes to
the statically linked version. Dynamic linking is currently tested and
supported on Linux, Android, macOS, all the BSDs, illumos, Solaris,
QNX, and Haiku.
* On systems where the external printf(1) utility supports deprecated
pre-POSIX syntax for formatters starting with -, ksh now adapts its
built-in printf to match, for compatibility with system scripts.
However, ksh's built-in printf options such as -v or --man are not
affected.
* Fixed a regression in the printf built-in, introduced in 93u+m/1.0.5,
where each instance of \0 or %Z in the format operand caused a string
argument to be incorrectly skipped.
* Fixed a regression, introduced in 93u+m/1.0.5, in ordinal specifiers
in printf %T date specifications. For example, printf '%(%F)T\n' '4th
tuesday in march 2016' wrongly printed '2016-04-09' and now again
correctly prints '2016-03-22'.
* Fixed a regression of return within traps, reintroduced in 93u+m/1.0.8
after being fixed in 93u+m/1.0.0. The regression caused a return or
exit with no arguments to assume the before-trap exit status instead
of that of the last-run command. This broke the shipped autocd
function.
* Fixed a longstanding bug in shell arithmetic: the representation of
negative integers with a base other than 10 was incorrectly treated as
unsigned long. For example, typeset -i16 n=-12; echo $n now correctly
outputs -16#c and no longer ouputs 16#fffffffffffffff4. Fixed a bug,
introduced in ksh93q+ 2005-05-22, that stopped an append assignment
from working together with a declaration command. For example,typeset
var+=value or export var+=value now again work as expected. Fixed a
longstanding bug where the default terminal width for typeset -L, -R,
or -Z, if not given, was miscalculated for multibyte or control
characters. Fixed: expansions of name references in loops were
incorrectly treated as invariant so they yielded the wrong values.
* If a .get or .getn discipline function is set for a variable, it is no
longer incorrectly triggered when performing an arithmetic assignment
on that variable; only the .set discipline is now triggered (as
documented).
* Many other bug fixes (see the NEWS file).
|
Log message:
shells/ksh93: update to 1.0.7
Here is the seventh ksh 93u+m/1.0 bugfix release. It fixes a hang in
command substitutions when combined with 'exec' and certain
redirections.
# pkgsrc changes
* Use USE_CC_FEATURES instead of CFLAGS.
* Use MAKE_ENV instead of appending flags to the build script command
line.
* Use package's own install script (patched) instead of a dedicated target.
* Install shcomp(1) + corresponding man page.
* Install ksh autoload companion functions.
* Use TEST_TARGET instead of a dedicated make target.
* Simplify DESCR.
# upstream changes (since ksh93u+m/1.0.6):
* Fixed a hang in command substitutions (introduced in 93u+m/1.0.0) that
was triggered when redirecting standard output within a command
substitution, in combination with other factors. E.g., the following no
longer hangs:
{ v=$(redirect 2>&1 1>&9); } 9>&1
* Fixed a crash on trying to append an indexed array value to an unset
name reference, e.g.: nameref unsetref; unsetref+=(foo bar). This now
produces a "removing nameref attribute" warning before performing the
assignment.
* Fixed: assignments like name=(...) to arrays did not preserve the array
and variable types; similarly, assigning an empty set () to a compound
indexed array caused the -C attribute to be lost.
* Fixed incorrect rejection of the tab key while reading input using the
read built-in command.
* Fixed a bug in printf %T: when using dates and times in the past, time
zones for the present were incorrectly used, ignoring historical
changes.
|
Log message:
shells/ksh93: update to ksh 93u+m/1.0.6
CHANGES
# ksh 93u+m/1.0.6:
* Fixed a serious regression in pathname expansion where quoted
wildcard characters were incorrectly expanded if a pattern contains
both a brace expansion and a variable expansion.
* Fixed a bug where the command to launch a full-screen editor (^X^E
in emacs and v in vi) could cause the wrong command line to be
edited if two shell sessions share a .sh_history file.
# ksh 93u+m/1.0.5:
* Fixed various bugs causing crashes.
* Fixed many bugs in the emacs and vi line editors, in command
completion, and in file name completion.
* Fixed various bugs in the handling of quotes, backslash escapes and
braces when processing shell glob patterns (e.g. in pathname expansion
and case).
* ksh now throws a panic and exits if a read error (such as an I/O
error) occurs while trying to read the next command(s) from a running
script.
* Fixed many bugs in printf and print -f built-in commands, including:
- Multiple bugs causing incorrect output for relative date
specifications, e.g., printf %T\\n 'exactly 20 months ago' now
outputs a correct result.
- More printf bugs with mix and match of % and %x$.
- A data corruption bug when using %B with printf -v varname.
- A bug causing double evaluation of arithmetic expressions.
* Fixed a bug where unset -f commandname, executed in a subshell, hides
any built-in command by the same name for the duration of that subshell.
* Fixed ${var/#/string} and ${var/%/string} (with anchored empty pattern)
to work as on mksh, bash and zsh; these are no longer ineffective.
* Fixed incorrect result of array slicing ${array[@]:offset:length} where
length is a nested expansion involving an array.
* Command names can now end in : as they can on other shells.
* Fixed a spurious syntax error in compound assignments upon encountering
a pair of repeated opening parentheses ((.
* Fixed spurious syntax error in ${parameter:offset:length}: the
arithmetic expressions offset and length may now contain the
operators () & |.
* Fixed a parsing bug in the declaration of .sh.math.* arithmetic
functions.
* Fixed nameref self-reference loop detection for more than two namerefs
* Several improvements to the POSIX compatibility mode.
* Many more minor and/or esoteric bugfixes.
|