From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4604 invoked from network); 28 Apr 2000 17:52:49 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 28 Apr 2000 17:52:49 -0000 Received: (qmail 541 invoked by alias); 28 Apr 2000 17:52:41 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 11014 Received: (qmail 528 invoked from network); 28 Apr 2000 17:52:40 -0000 Date: Fri, 28 Apr 2000 18:51:46 +0100 From: Peter Stephenson Subject: News To: zsh-workers@sunsite.auc.dk (Zsh hackers list) Message-id: <0FTQ00K51MY9P4@la-la.cambridgesiliconradio.com> Content-transfer-encoding: 7BIT 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 Cambridge Silicon Radio, Unit 300, Science Park, Milton Road, Cambridge, CB4 0XL, UK Tel: +44 (0)1223 392070