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 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 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 Sat, 03 Mar 2012 21:28:54 +0100