zsh (5.7.1-test-3-1) experimental; urgency=low

  From the upstream README of 5.7.1-test-3:

  > 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.
  >
  > For example
  >
  > % echo /my/interesting/path
  > % echo !:1:t2
  >
  > used to echo "path2", but now echoes "interesting/path".
  >
  > The behaviour of :h has similarly changed.
  >
  > The behaviour has also changed in forms such as ${foo:t2) and *(:t2),
  > but in those cases the previous behaviour was not meaningful.
  >
  > The vcs_info function VCS_INFO_quilt-dirfind now returns a string value
  > by setting $REPLY.  Previously it printed the value to standard output.
  > This only affects you if you override that function in your dotfiles.
  >
  > The cd and chdir builtins no longer interpret operands like -1 and +2 as
  > stack entries when POSIX_CD is enabled.

 -- Axel Beckert <abe@debian.org>  Fri, 14 Feb 2020 02:44:59 +0100

zsh (5.4.2-1) unstable; urgency=medium

  From the upstream README of 5.4.1:

  > The default behaviour of code like the following has changed:
  >
  >   alias foo='noglob foo'
  >   foo() { print function body; }
  >
  > When this is encountered in a start-up file, or other place where
  > input was read line by line, "foo" is in command position and is
  > expanded as an alias before the function definition takes place.  In
  > previous versions of the shell, this caused two functions "noglob" and
  > "foo" to be defined.  Any expansion of an alias in a function
  > definition is nearly always an unintended effect, as well as hard to
  > detect, so has been made an error.  (The option setting
  > NO_MULTI_FUNC_DEF turned this case into an error, but did not help
  > with other cases and is off by default.)  The alternative, of not
  > expanding the alias, was rejected as it was more difficult to achieve
  > in the parser and also would silently change the shell's behaviur
  > between versions.  A new option, ALIAS_FUNC_DEF, has been added, which
  > can be set to make the shell behave as in previous versions.  It is in
  > any case recommended to use the "function" keyword, as aliases are not
  > expanded afterwards.

  The common error message triggered by this change looks as follows:

  > zsh: defining function based on alias `foo'
  > zsh: parse error near `()'

  See https://bugs.debian.org/871816 for more information.

 -- Axel Beckert <abe@debian.org>  Fri, 11 Aug 2017 21:43:25 +0200

zsh (5.0.0-1) unstable; urgency=low

  This update includes a rewrite of keyboard handling in `/etc/zsh/zshrc'.

  The used method should be quite a bit more robust than the old one, and
  should work out of the box for every terminal with a working terminfo entry.

  If you do not want Debian's zshrc to mess with your keyboard setup, set the
  following variable in your `.zshenv' file:

    DEBIAN_PREVENT_KEYBOARD_CHANGES=yes

  This change also removes the controversial vi-* bindings for the up and down
  cursor keys (which was reported as #383737 and led to confusion with a
  substantial number of users). If you want them back use the following snippet
  in your `.zshrc' file (and without the above variable set):

    for i in viins vicmd; do
      bindkey -M "$i" "${key[Up]}" vi-up-line-or-history
      bindkey -M "$i" "${key[Down]}" vi-down-line-or-history
    done
    unset i

 -- Frank Terbeck <ft@bewatermyfriend.org>  Sat, 03 Mar 2012 21:28:54 +0100
