Subject: CVS commit: pkgsrc/shells/zsh
To: None <pkgsrc-changes@NetBSD.org>
From: Marc Recht <recht@netbsd.org>
List: pkgsrc-changes
Date: 08/16/2004 16:17:39
Module Name:	pkgsrc
Committed By:	recht
Date:		Mon Aug 16 16:17:39 UTC 2004

Modified Files:
	pkgsrc/shells/zsh: Makefile Makefile.common PLIST PLIST.dynamic
	    distinfo
	pkgsrc/shells/zsh/patches: patch-ab patch-ac

Log Message:
update to zsh-4.2.1

Changes since zsh version 4.2.0
-------------------------------

- The autoload and related builtins take options -k and -z to indicate
  ksh or zsh autoloading style for given functions, making it possible
  to mix and match.

- Assignments to associative arrays can use the i and r index flags.
  For example,
    assoc[(i)alpha*]=bravo
  sets the value for the element whose key matches the pattern `alpha*';
    assoc[(r)activ*]=passive
  sets the value for the element whose current value matches the pattern
  `activ*'.

- The glob qualifier F indicates a non-empty directory.  Hence *(F)
  indicates all subdirectories with entries, *(/^F) means all
  subdirectories with no entries.

- fc -p and fc -P provide push/pop for the status of the shell's
  history (both internal and using the history file).  With automatic
  scoping (fc -ap) it becomes easy to use a temporary history in a
  function.  This has been added to the calculator function zcalc to make
  its internal history work more seamlessly.

- A new `try block' and `always block' syntax has been introduced
  to make it easier to ensure the shell runs important tidy-up code
  in the event of an error.  It also runs after a break, continue, or
  return, including a return forced by the ERR_RETURN option
  (but not an exit, which is immediate).  The syntax is:
    `{'  try-block-list `}' `always' `{' always-block-list `}'
  where no newline or semicolon may appear between `}' and `always'.
  This is compatible with all previous valid zsh syntax as an `always'
  at that point used to be a syntax error.  For example,
    { echo Code run in current shell } always { echo Tidy-up code }

- A new zle widget reset-prompt has been added to re-expand the current
  prompt.  Changes to the variable in use as well as changes in its
  expanions are both taken into account.  The same effect is now forced by
  a job change notification, making the %j prompt escape and %(j..) ternary
  expression more useful.

- The zftp module supports ports following the hostname in the normal suffix
  notation, `host:port'.  This requires IPv6 colon-style addresses to be
  specified in suitably quoted square brackets, for example:

  zftp open '[f000::baaa]'
  zftp open '[f000::baaa]:ftp'

  (the two are equivalent).

- Special traps, those that don't correspond to signals, i.e. ZERR, DEBUG
  and EXIT are no longer executed inside other traps.  This caused
  unnecessary confusion if, for example, both DEBUG and EXIT traps
  were set.  The new behaviour is more compatible with other shells.

- New option TRAPS_ASYNC which if set allows traps to run while the
  shell is waiting for a child process.  This is the traditional zsh
  behaviour; POSIX requires the option to be unset.  In sh/ksh
  compatibility mode the option is turned off by default and the option
  letter -T turns it on, for compatibility with FreeBSD sh.


To generate a diff of this commit:
cvs rdiff -r1.45 -r1.46 pkgsrc/shells/zsh/Makefile
cvs rdiff -r1.12 -r1.13 pkgsrc/shells/zsh/Makefile.common
cvs rdiff -r1.13 -r1.14 pkgsrc/shells/zsh/PLIST
cvs rdiff -r1.3 -r1.4 pkgsrc/shells/zsh/PLIST.dynamic
cvs rdiff -r1.16 -r1.17 pkgsrc/shells/zsh/distinfo
cvs rdiff -r1.9 -r1.10 pkgsrc/shells/zsh/patches/patch-ab
cvs rdiff -r1.13 -r1.14 pkgsrc/shells/zsh/patches/patch-ac

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.