Subject: CVS commit: pkgsrc/shells/zsh
Date: 2020-02-27 04:05:37
Message id:

Log Message:
zsh: Update to 5.8

Changes between 5.7 and 5.8


    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.


    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

    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

    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

    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.