Path to this page:
Subject: CVS commit: pkgsrc/shells/zsh
From: Ryo ONODERA
Date: 2020-02-27 04:05:37
Message id: 20200227030538.0F419FBF4@cvs.NetBSD.org
Log Message:
zsh: Update to 5.8
Changelog:
Changes between 5.7 and 5.8
Incompatibilities
The history expansion !:1:t2 used to be interpreted such that
the 2 was a separate character added after the history expansion.
Now it is an argument to the :t modifier. The behaviour of :h
has similarly changed.
The vcs_info function VCS_INFO_quilt-dirfind now returns a
string value by setting $REPLY. Previously it printed the value
to standard output.
The cd and chdir builtins no longer interpret operands like -1
and +2 as stack entries when POSIX_CD is enabled.
Dropping privileges with `unsetopt privileged` may fail (with
an error message) on some older and uncommon platforms due to
library dependency changes made in the course of fixing
CVE-2019-20044 (see below). Please report this to the zsh-workers
mailing list if your system is affected.
Changes
CVE-2019-20044: When unsetting the PRIVILEGED option, the shell
sets its effective user and group IDs to match their respective
real IDs. On some platforms (including Linux and macOS, but
not FreeBSD), when the RUID and EUID were both non-zero, it
was possible to regain the shell's former privileges by e.g.
assigning to the EUID or EGID parameter. In the course of
investigating this issue, it was also found that the setopt
built-in did not correctly report errors when unsetting the
option, which prevented users from handling them as the
documentation recommended. setopt now returns non-zero if it
is unable to safely drop privileges. [ Reported by Sam Foxman.]
The zsh/zutil module's zparseopts builtin learnt an -F option
to abort parsing when an unrecognised option-like parameter is
encountered.
The zsh/files module gained a chmod builtin.
Several changes have been made to the way completion functions
track 'precommands' (such as `command` and `env`) and determine
whether the command being completed for is a shell builtin.
Developers of completion functions may wish to familiarise
themselves with `_normal -p` and `_pick_variant -b`.
The option CD_SILENT was added to suppress all output from cd
(whether explicit or implicit with AUTO_CD). It is disabled by
default.
The compadd builtin's -o option now takes an optional argument
to specify the order of completion matches. This affects the
display of candidate matches and the order in which they are
selected when cycling between them using menu completion.
The :h and :t modifiers in parameter expansion (if braces are
present), glob qualifiers and history expansion may take
following decimal digit arguments in order to keep that many
leading or trailing path components instead of the defaults of
all but one (:h) and one (:t). In an absolute path the leading
'/' counts as one component.
The functions builtin gained a -c option to efficiently copy
functions.
The zshmisc(1) manual page incorrectly stated that when 'exit'
is used in a `try' block inside a function, the corresponding
`always' block will be executed. The manual page has been
corrected. The shell's behaviour has not changed.
Files: