Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

News



I have a rough draft of things to go into the NEWS file and the
announcements for 3.1.7.  I haven't tried to include every little bug fix,
but even so it may well be I've missed out things worth mentioning.  It's
suspiciously biased towards bits I've written.  Also, I may be a bit vague
on what was in the previous release.  This will be tidied up eventually.


Further improvements to new completion system, including
 configuration via context-sensitive `styles'
 menu-driven interface, `compinstall', to set these.  
 Easy control of matching particular file patterns in particular contexts
 also display of different types of completion separately, with descriptions
 More control over completions via _prefix (complete word before
  cursor) and _ignored (complete ignored words, like $fignore but much more
  powerful) completers
 multiple use of completers with different options;
 use of the same `tags' (types of completion) in different contexts via
  labels; commands for cycling through sets of tags
 functions to complete for more external commands
 fpath now defined to installed directory, so `autoload -U compinit;
  compinit' is all that is required to load the completion system including
  completions for many common and uncommon commands
 better handling of command line arguments for many commands
 much better handling of nested quoting in completion expressions
 adding all completions uses uniform `compadd' interface, uses info made
  available via zsh/parameter module, `compgen' (with `compctl'-like
  arguments) removed
 LIST_PACKED and LIST_ROWS_FIRST options and corresponding styles
 compctl moved to separate library; features frozen but still supported
 User guide describing new completion (chapter 6)
  available at http://sunsite.auc.dk/zsh/Guide/ . 

Completion lists can now be shown by page; menu selection allows full
scrolling up and down; coloured completion lists allow more control over
display of strings.

Floating point support similar to ksh 93 with typeset -F and typeset -E and
ordinary C/Fortran-like rules for integer/float conversion in math
expressions; access to system mathematical functions via zsh/mathfunc
module; better parsing of math expressions, better error messages

Extra ZLE parameters: $PENDING, $MARK, $BUFFERLINES; displaying of
prompt from widget

Functions can be compiled to low-level .zwc `wordcode' files for fast start
up, also `digest' files of directories

Extendedglob patterns can now do backreferencing, like real
regularexpressions, e.g.
  [[ $foo = (#b)(*/)[^/]* ]]
stores the part of $foo up to the last / in $match[1] and the indexes of
the match in $mbegin[1], $mend[1].  (#m) is also availabel to set $MATCH to
the entire match and corresponding $MBEGIN, $MEND:  useful in parameter
substitutions like ${.../.../...}.

(#s) and (#e) match start and end of patterns, like ^ and $ in regular
expressions, useful in some more complex patterns and in substitutions.

support for hierarchies of modules; existing modules become e.g. zle ->
zsh/zle, aliased to zle for backward compatibility (use `zmodload zsh/zle'
etc. in all new code); zmodload made more consistent between dynamically
and statically linked shells;

Prompt `themes' to make customization of prompts easier

`autoload -X' to autoload a function from within a placeholder, allows
more useful `functions' output; `autoload +X' to load a list of functions
immediately but not execute.

Test suite (currently incomplete).

zsh/zpty library module to create pseudoterminal.

zsh/parameter enhancements; this is now needed and loaded automatically
with new completion.

special variables can be made local, typeset -h allows you to hide their
specialness when they're local; parameters themselves can have `-h'
attribute, module specials have this set to avoid clashes in user
functions; typeset +h turns this off.

local variables can now be exported, as in other shells; option
NO_GLOBAL_EXPORTS causes `typeset -x' not to make the exported parameter
global (consistent with other shells and with expectations but
unfortunately incompatible with old versions)

use of Linux task limits

Fixes: output from setopt xtrace; redirection; NIS+ problem; many minor fixes

zftp now allows you to have multiple active FTP sessions via the session
subcommand and the zfsession function; transfers between two remote
sessions via local machine but without local file using zftransfer; uses
styles for e.g. progress bars during transfers; supports IPv6; recursive
puts of directory hierarchies with `zfput -r' for mass uploads.

Expansion: can now strip quotes with ${(Q)...} so that combination with
quoting via ${(q..)...} gives complete flexibility; depth-first/last
sorting of globbed file lists.

version-specific installation directories for functions

better null-command behaviour in sh and csh emulation modes

Internals:  both internal syntactic structures and pattern-matching
structures rewritten for compactness and efficiency together with other
optimisations; more consistent use of heap and permanent memory allocation:
sizeable reduction of non-shared memory through this and other
optimisations; optimised to use anonymous mapped memory for heap where
available.

-- 
Peter Stephenson <pws@xxxxxxxxxxxxxxxxxxxxxxxxx>
Cambridge Silicon Radio, Unit 300, Science Park, Milton Road,
Cambridge, CB4 0XL, UK                          Tel: +44 (0)1223 392070



Messages sorted by: Reverse Date, Date, Thread, Author