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.