Version 4.2.6 of zsh has been uploaded to ftp.zsh.org/pub and to Sourceforge. The changes are minor: mostly bugfixes, with a few enhancements to completion functions.
In case you haven't been following development, you should be aware that a development version 4.3.1 will be released soon (before Christmas, unless I get really tied up) which will contain support for multibyte character sets such as UTF-8 in the line editor (though there's not yet not much support in the main shell). This appears to be working quite well already.
(4.3.0 was the version number used during initial development on the branch, so doesn't correspond to a release.)
I've put a test release of zsh 4.3 in the pub/development directory of ftp.zsh.org. It's unlikely to differ much from 4.3.1 when that appears.
The main new feature compared with 4.2 is multibyte support. This is only enabled by default on some machines (most recent PC Unix-like targets in particular). Reports on other machines where it works (or compiles but doesn't work) when you explicitly supply --enable-multibyte to configure would be useful.
The documentation package for 4.3 contains a PDF file instead of a PostScript file. This should be easier to browse.
--- /usr/local/share/zsh/4.2.6/functions/Completion/X/_acroread.dist Sun Jan 15 13:52:52 2006 +++ /usr/local/share/zsh/4.2.6/functions/Completion/X/_acroread Sun Jan 15 14:19:03 2006 @@ -4,15 +4,16 @@
# Try extracting the version number directly from the executable. # (This will fail if the executable is a wrapper script for acroread.) -local ver=${${${(f)"$(<$commands[$words[1]])"}:#^ver=*}##ver=} -[[ -n $ver ]] && _acroread_version=$ver +#local ver=${${${(f)"$(<$commands[$words[1]])"}:#^ver=*}##ver=} +#[[ -n $ver ]] && _acroread_version=$ver
-if (( ! $+_acroread_version )); then - local acropath=${${(s. .)${${(f)"$($words[1] -help 2>&1)"}[1]}}[2]} - _acroread_version=${${${(f)"$(<$acropath)"}:#^ver=*}##ver=} -fi +#if (( ! $+_acroread_version )); then +# local acropath=${${(s. .)${${(f)"$($words[1] -help 2>&1)"}[1]}}[2]} +# _acroread_version=${${${(f)"$(<$acropath)"}:#^ver=*}##ver=} +#fi
-if [[ $_acroread_version == 7.* ]]; then +#if [[ $_acroread_version == 7.* ]]; then +if true; then _arguments -C \ '--display=:X display:_x_display' \ '--screen=:X screen (overrides the screen part of DISPLAY)' \
俺はこれを挿入。以前のバージョンにこのオプションがあったかどうか 知らないが、どうせそんなの使うことはないだろうからいいやと。 if (( ! $+_acroread_version )); then _acroread_version=$($words[1] -version 2>/dev/null) fi
ただ/usr/local/bin/acroread@ は参照先消えた状態で存在したので 消した上で /usr/local/share/zsh/4.2.6/functions/Completion/X/_acroread を 元に戻してみたらやっぱりこんななりました。 % acroread [TAB] _acroread:12: no such file or directory:
(I meant to send this yesterday, but got sidetracked, so this is already out of date.)
I uploaded 4.3.0-dev-3 to the pub/development directory of ftp.zsh.org. This fixes a few odd things in multibyte mode and there are the usual completion function tweaks. It's now possible to define a ZLE hook function zle-keymap-select to run when $KEYMAP changes. One minor incompatibility is that the shell no longer sets HOME itself if it wasn't in the environment (which it usually is). [In the next version we'll continue to set HOME unconditionally in native zsh emulation.]
It's probably in a pretty fit state to be released as 4.3.1 now.
-- Peter Stephenson <pws@csr.com> Software Engineer CSR PLC, Churchill House, Cambridge Business Park, Cowley Road Cambridge, CB4 0WZ, UK Tel: +44 (0)1223 692070
Please try this out on as many systems as possible as soon as you get a chance; if there are any significant problems I'll produce a 4.3.2. This is very little changed from 4.3.0-dev-5, so there shouldn't be any. If it looks OK I'll make the appropriate arrangements at Sourceforge and Freshmeat (please feel free to pass the message on elsewhere; I don't use comp.unix.shell or Slashdot myself).
Thank you to everyone who helped.
The release announcement currently looks like:
This version contains initial support for multibyte characters in the shell's line editor (in particular UTF-8, although any character set supported by the system library is usable). Please read the appropriate sections of the file INSTALL as this support is not turned on by default on all systems where it can be used. The release also contains a few enhancements to shell syntax and supplied functions as well as numerous bug fixes. See the file NEWS for more detail. There are only a few unavoidable incompatibilities with previous versions, mostly to enhance compatibility with other shells and standards; see the README file.