./shells/ksh93, Actively developed fork of AT&T KornShell 93u+

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.0.10, Package name: ksh93-1.0.10, Maintainer: vins

The ksh 93u+m reboot incorporates many of the bugfixes found in the last
unstable AST beta version (93v-), backported to the most recent official
release (93u+), plus patches from OpenSUSE, Red Hat, and Solaris, as
well as many new fixes from the community.


Master sites:

Filesize: 1972.203 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-04 18:01:48 by Nia Alarie | Files touched by this commit (3)
Log message:
ksh93: Honour PKGMANDIR
   2024-08-24 15:37:40 by Paolo Vincenzo Olivo | Files touched by this commit (1)
Log message:
shells/ksh93: fix broken build (PLIST issue)
   2024-08-22 19:49:20 by Paolo Vincenzo Olivo | Files touched by this commit (2) | Package updated
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.
   2024-07-30 17:17:08 by Paolo Vincenzo Olivo | Files touched by this commit (5) | Package updated
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).
   2024-01-14 16:23:52 by Paolo Vincenzo Olivo | Files touched by this commit (2) | Package updated
Log message:
shells/ksh93: update to ksh 93u+m/1.0.8

# CHANGES (since 1.0.7)

  * Fixed a regression in the behaviour of exit in a trap action. The
    exit status used when no argument is given to exit is now once again
    the exit status of the last command executed before the trap action.

  * Fixed a race condition, introduced in 1.0.7, that occurred on some
    systems when running an external command with a standard output
    redirection from a command substitution.

  * Fixed an init-time crash on failure to trim the shell command
    history file due to a non-writeable parent directory; ksh now prints
    a warning instead.

  * The kill built-in command now correctly refuses to issue SIGSTOP to
    the shell's own process if the shell is a login shell.
   2023-09-22 20:44:16 by Thomas Klausner | Files touched by this commit (1)
Log message:
ksh93: fix download
   2023-09-18 16:11:42 by Paolo Vincenzo Olivo | Files touched by this commit (5) | Package updated
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.
   2023-07-03 12:44:09 by Paolo Vincenzo Olivo | Files touched by this commit (3) | Package updated
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.